TPTP Problem File: ITP076^2.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : ITP076^2 : TPTP v8.2.0. Released v7.5.0.
% Domain   : Interactive Theorem Proving
% Problem  : Sledgehammer HF problem prob_850__5339526_1
% Version  : Especial.
% English  :

% Refs     : [BH+15] Blanchette et al. (2015), Mining the Archive of Formal
%          : [Des21] Desharnais (2021), Email to Geoff Sutcliffe
% Source   : [Des21]
% Names    : HF/prob_850__5339526_1 [Des21]

% Status   : Theorem
% Rating   : 0.00 v7.5.0
% Syntax   : Number of formulae    :  355 ( 155 unt;  56 typ;   0 def)
%            Number of atoms       :  648 ( 339 equ;   0 cnn)
%            Maximal formula atoms :    5 (   2 avg)
%            Number of connectives : 2796 (  52   ~;   8   |;  46   &;2477   @)
%                                         (   0 <=>; 213  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   15 (   5 avg)
%            Number of types       :    3 (   2 usr)
%            Number of type conns  :  149 ( 149   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :   55 (  54 usr;   2 con; 0-5 aty)
%            Number of variables   :  901 (  51   ^; 794   !;  25   ?; 901   :)
%                                         (  31  !>;   0  ?*;   0  @-;   0  @+)
% SPC      : TH1_THM_EQU_NAR

% Comments : This file was generated by Sledgehammer 2021-02-23 16:23:17.517
%------------------------------------------------------------------------------
% Could-be-implicit typings (3)
thf(ty_t_HF__Mirabelle__fsbjehakzm_Ohf,type,
    hF_Mirabelle_hf: $tType ).

thf(ty_t_Set_Oset,type,
    set: $tType > $tType ).

thf(ty_t_Nat_Onat,type,
    nat: $tType ).

% Explicit typings (53)
thf(sy_cl_Lattices_Obounded__lattice,type,
    bounded_lattice: 
      !>[A: $tType] : $o ).

thf(sy_cl_HOL_Otype,type,
    type: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Ozero,type,
    zero: 
      !>[A: $tType] : $o ).

thf(sy_cl_Orderings_Otop,type,
    top: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Ogroup__add,type,
    group_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Lattices_Olattice,type,
    lattice: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Omonoid__add,type,
    monoid_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Osemigroup__add,type,
    semigroup_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Ocomm__monoid__add,type,
    comm_monoid_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Oab__semigroup__add,type,
    ab_semigroup_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Lattices_Odistrib__lattice,type,
    distrib_lattice: 
      !>[A: $tType] : $o ).

thf(sy_cl_Lattices_Osemilattice__inf,type,
    semilattice_inf: 
      !>[A: $tType] : $o ).

thf(sy_cl_Lattices_Osemilattice__sup,type,
    semilattice_sup: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Ocancel__semigroup__add,type,
    cancel_semigroup_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Lattices_Obounded__lattice__top,type,
    bounded_lattice_top: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Ocancel__comm__monoid__add,type,
    cancel1352612707id_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Olinordered__ab__group__add,type,
    linord219039673up_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Oordered__ab__semigroup__add,type,
    ordere779506340up_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Lattices_Obounded__semilattice__inf__top,type,
    bounde1561333602nf_top: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Ocanonically__ordered__monoid__add,type,
    canoni770627133id_add: 
      !>[A: $tType] : $o ).

thf(sy_c_Groups_Oplus__class_Oplus,type,
    plus_plus: 
      !>[A: $tType] : ( A > A > A ) ).

thf(sy_c_Groups_Ozero__class_Ozero,type,
    zero_zero: 
      !>[A: $tType] : A ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_OHCollect,type,
    hF_Mir1687042746ollect: ( hF_Mirabelle_hf > $o ) > hF_Mirabelle_hf > hF_Mirabelle_hf ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_OHF,type,
    hF_Mirabelle_HF: ( set @ hF_Mirabelle_hf ) > hF_Mirabelle_hf ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_OHInter,type,
    hF_Mirabelle_HInter: hF_Mirabelle_hf > hF_Mirabelle_hf ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_OHUnion,type,
    hF_Mirabelle_HUnion: hF_Mirabelle_hf > hF_Mirabelle_hf ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_OPrimReplace,type,
    hF_Mir569462966eplace: hF_Mirabelle_hf > ( hF_Mirabelle_hf > hF_Mirabelle_hf > $o ) > hF_Mirabelle_hf ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_ORepFun,type,
    hF_Mirabelle_RepFun: hF_Mirabelle_hf > ( hF_Mirabelle_hf > hF_Mirabelle_hf ) > hF_Mirabelle_hf ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_OReplace,type,
    hF_Mirabelle_Replace: hF_Mirabelle_hf > ( hF_Mirabelle_hf > hF_Mirabelle_hf > $o ) > hF_Mirabelle_hf ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_Ohcard,type,
    hF_Mirabelle_hcard: hF_Mirabelle_hf > nat ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_Ohf_OAbs__hf,type,
    hF_Mirabelle_Abs_hf: nat > hF_Mirabelle_hf ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_Ohf_ORep__hf,type,
    hF_Mirabelle_Rep_hf: hF_Mirabelle_hf > nat ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_Ohfset,type,
    hF_Mirabelle_hfset: hF_Mirabelle_hf > ( set @ hF_Mirabelle_hf ) ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_Ohfst,type,
    hF_Mirabelle_hfst: hF_Mirabelle_hf > hF_Mirabelle_hf ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_Ohfunction,type,
    hF_Mir859708136nction: hF_Mirabelle_hf > $o ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_Ohinsert,type,
    hF_Mirabelle_hinsert: hF_Mirabelle_hf > hF_Mirabelle_hf > hF_Mirabelle_hf ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_Ohmem,type,
    hF_Mirabelle_hmem: hF_Mirabelle_hf > hF_Mirabelle_hf > $o ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_Ohpair,type,
    hF_Mirabelle_hpair: hF_Mirabelle_hf > hF_Mirabelle_hf > hF_Mirabelle_hf ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_Ohrelation,type,
    hF_Mir1093797708lation: hF_Mirabelle_hf > $o ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_Ohrestrict,type,
    hF_Mir165288108strict: hF_Mirabelle_hf > hF_Mirabelle_hf > hF_Mirabelle_hf ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_Ohsnd,type,
    hF_Mirabelle_hsnd: hF_Mirabelle_hf > hF_Mirabelle_hf ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_Ohsplit,type,
    hF_Mirabelle_hsplit: 
      !>[A: $tType] : ( ( hF_Mirabelle_hf > hF_Mirabelle_hf > A ) > hF_Mirabelle_hf > A ) ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_Ois__hpair,type,
    hF_Mir796903520_hpair: hF_Mirabelle_hf > $o ).

thf(sy_c_Lattices_Oinf__class_Oinf,type,
    inf_inf: 
      !>[A: $tType] : ( A > A > A ) ).

thf(sy_c_Lattices_Osup__class_Osup,type,
    sup_sup: 
      !>[A: $tType] : ( A > A > A ) ).

thf(sy_c_Nat_OSuc,type,
    suc: nat > nat ).

thf(sy_c_Orderings_Otop__class_Otop,type,
    top_top: 
      !>[A: $tType] : A ).

thf(sy_c_Set_OCollect,type,
    collect: 
      !>[A: $tType] : ( ( A > $o ) > ( set @ A ) ) ).

thf(sy_c_Set_Oinsert,type,
    insert: 
      !>[A: $tType] : ( A > ( set @ A ) > ( set @ A ) ) ).

thf(sy_c_Typedef_Otype__definition,type,
    type_definition: 
      !>[B: $tType,A: $tType] : ( ( B > A ) > ( A > B ) > ( set @ A ) > $o ) ).

thf(sy_c_member,type,
    member: 
      !>[A: $tType] : ( A > ( set @ A ) > $o ) ).

thf(sy_v_r,type,
    r: hF_Mirabelle_hf ).

thf(sy_v_x,type,
    x: hF_Mirabelle_hf ).

% Relevant facts (255)
thf(fact_0_hrelation__restr,axiom,
    ! [R: hF_Mirabelle_hf,X: hF_Mirabelle_hf] : ( hF_Mir1093797708lation @ ( hF_Mir165288108strict @ R @ X ) ) ).

% hrelation_restr
thf(fact_1_hfunction__def,axiom,
    ( hF_Mir859708136nction
    = ( ^ [R2: hF_Mirabelle_hf] :
        ! [X2: hF_Mirabelle_hf,Y: hF_Mirabelle_hf] :
          ( ( hF_Mirabelle_hmem @ ( hF_Mirabelle_hpair @ X2 @ Y ) @ R2 )
         => ! [Y2: hF_Mirabelle_hf] :
              ( ( hF_Mirabelle_hmem @ ( hF_Mirabelle_hpair @ X2 @ Y2 ) @ R2 )
             => ( Y = Y2 ) ) ) ) ) ).

% hfunction_def
thf(fact_2_hrestrict__iff,axiom,
    ! [Z: hF_Mirabelle_hf,R: hF_Mirabelle_hf,A2: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hmem @ Z @ ( hF_Mir165288108strict @ R @ A2 ) )
      = ( ( hF_Mirabelle_hmem @ Z @ R )
        & ? [X2: hF_Mirabelle_hf,Y: hF_Mirabelle_hf] :
            ( ( Z
              = ( hF_Mirabelle_hpair @ X2 @ Y ) )
            & ( hF_Mirabelle_hmem @ X2 @ A2 ) ) ) ) ).

% hrestrict_iff
thf(fact_3_hpair__iff,axiom,
    ! [A3: hF_Mirabelle_hf,B2: hF_Mirabelle_hf,A4: hF_Mirabelle_hf,B3: hF_Mirabelle_hf] :
      ( ( ( hF_Mirabelle_hpair @ A3 @ B2 )
        = ( hF_Mirabelle_hpair @ A4 @ B3 ) )
      = ( ( A3 = A4 )
        & ( B2 = B3 ) ) ) ).

% hpair_iff
thf(fact_4_Rep__hf__inject,axiom,
    ! [X: hF_Mirabelle_hf,Y3: hF_Mirabelle_hf] :
      ( ( ( hF_Mirabelle_Rep_hf @ X )
        = ( hF_Mirabelle_Rep_hf @ Y3 ) )
      = ( X = Y3 ) ) ).

% Rep_hf_inject
thf(fact_5_hf__equalityI,axiom,
    ! [A3: hF_Mirabelle_hf,B2: hF_Mirabelle_hf] :
      ( ! [X3: hF_Mirabelle_hf] :
          ( ( hF_Mirabelle_hmem @ X3 @ A3 )
          = ( hF_Mirabelle_hmem @ X3 @ B2 ) )
     => ( A3 = B2 ) ) ).

% hf_equalityI
thf(fact_6_hf__ext,axiom,
    ( ( ^ [Y4: hF_Mirabelle_hf,Z2: hF_Mirabelle_hf] : Y4 = Z2 )
    = ( ^ [A5: hF_Mirabelle_hf,B4: hF_Mirabelle_hf] :
        ! [X2: hF_Mirabelle_hf] :
          ( ( hF_Mirabelle_hmem @ X2 @ A5 )
          = ( hF_Mirabelle_hmem @ X2 @ B4 ) ) ) ) ).

% hf_ext
thf(fact_7_hmem__ne,axiom,
    ! [X: hF_Mirabelle_hf,Y3: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hmem @ X @ Y3 )
     => ( X != Y3 ) ) ).

% hmem_ne
thf(fact_8_replacement,axiom,
    ! [X: hF_Mirabelle_hf,R3: hF_Mirabelle_hf > hF_Mirabelle_hf > $o] :
      ( ! [U: hF_Mirabelle_hf,V: hF_Mirabelle_hf,V2: hF_Mirabelle_hf] :
          ( ( hF_Mirabelle_hmem @ U @ X )
         => ( ( R3 @ U @ V )
           => ( ( R3 @ U @ V2 )
             => ( V2 = V ) ) ) )
     => ? [Z3: hF_Mirabelle_hf] :
        ! [V3: hF_Mirabelle_hf] :
          ( ( hF_Mirabelle_hmem @ V3 @ Z3 )
          = ( ? [U2: hF_Mirabelle_hf] :
                ( ( hF_Mirabelle_hmem @ U2 @ X )
                & ( R3 @ U2 @ V3 ) ) ) ) ) ).

% replacement
thf(fact_9_binary__union,axiom,
    ! [X: hF_Mirabelle_hf,Y3: hF_Mirabelle_hf] :
    ? [Z3: hF_Mirabelle_hf] :
    ! [U3: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hmem @ U3 @ Z3 )
      = ( ( hF_Mirabelle_hmem @ U3 @ X )
        | ( hF_Mirabelle_hmem @ U3 @ Y3 ) ) ) ).

% binary_union
thf(fact_10_hmem__not__sym,axiom,
    ! [X: hF_Mirabelle_hf,Y3: hF_Mirabelle_hf] :
      ~ ( ( hF_Mirabelle_hmem @ X @ Y3 )
        & ( hF_Mirabelle_hmem @ Y3 @ X ) ) ).

% hmem_not_sym
thf(fact_11_hpair__inject,axiom,
    ! [A3: hF_Mirabelle_hf,B2: hF_Mirabelle_hf,A4: hF_Mirabelle_hf,B3: hF_Mirabelle_hf] :
      ( ( ( hF_Mirabelle_hpair @ A3 @ B2 )
        = ( hF_Mirabelle_hpair @ A4 @ B3 ) )
     => ~ ( ( A3 = A4 )
         => ( B2 != B3 ) ) ) ).

% hpair_inject
thf(fact_12_union__of__set,axiom,
    ! [X: hF_Mirabelle_hf] :
    ? [Z3: hF_Mirabelle_hf] :
    ! [U3: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hmem @ U3 @ Z3 )
      = ( ? [Y: hF_Mirabelle_hf] :
            ( ( hF_Mirabelle_hmem @ Y @ X )
            & ( hF_Mirabelle_hmem @ U3 @ Y ) ) ) ) ).

% union_of_set
thf(fact_13_comprehension,axiom,
    ! [X: hF_Mirabelle_hf,P: hF_Mirabelle_hf > $o] :
    ? [Z3: hF_Mirabelle_hf] :
    ! [U3: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hmem @ U3 @ Z3 )
      = ( ( hF_Mirabelle_hmem @ U3 @ X )
        & ( P @ U3 ) ) ) ).

% comprehension
thf(fact_14_hmem__not__refl,axiom,
    ! [X: hF_Mirabelle_hf] :
      ~ ( hF_Mirabelle_hmem @ X @ X ) ).

% hmem_not_refl
thf(fact_15_hpair__neq__fst,axiom,
    ! [A3: hF_Mirabelle_hf,B2: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hpair @ A3 @ B2 )
     != A3 ) ).

% hpair_neq_fst
thf(fact_16_hpair__neq__snd,axiom,
    ! [A3: hF_Mirabelle_hf,B2: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hpair @ A3 @ B2 )
     != B2 ) ).

% hpair_neq_snd
thf(fact_17_replacement__fun,axiom,
    ! [X: hF_Mirabelle_hf,F: hF_Mirabelle_hf > hF_Mirabelle_hf] :
    ? [Z3: hF_Mirabelle_hf] :
    ! [V3: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hmem @ V3 @ Z3 )
      = ( ? [U2: hF_Mirabelle_hf] :
            ( ( hF_Mirabelle_hmem @ U2 @ X )
            & ( V3
              = ( F @ U2 ) ) ) ) ) ).

% replacement_fun
thf(fact_18_hsplit,axiom,
    ! [A: $tType,C: hF_Mirabelle_hf > hF_Mirabelle_hf > A,A3: hF_Mirabelle_hf,B2: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hsplit @ A @ C @ ( hF_Mirabelle_hpair @ A3 @ B2 ) )
      = ( C @ A3 @ B2 ) ) ).

% hsplit
thf(fact_19_hfst__conv,axiom,
    ! [A3: hF_Mirabelle_hf,B2: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hfst @ ( hF_Mirabelle_hpair @ A3 @ B2 ) )
      = A3 ) ).

% hfst_conv
thf(fact_20_hsnd__conv,axiom,
    ! [A3: hF_Mirabelle_hf,B2: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hsnd @ ( hF_Mirabelle_hpair @ A3 @ B2 ) )
      = B2 ) ).

% hsnd_conv
thf(fact_21_hrelation__def,axiom,
    ( hF_Mir1093797708lation
    = ( ^ [R2: hF_Mirabelle_hf] :
        ! [Z4: hF_Mirabelle_hf] :
          ( ( hF_Mirabelle_hmem @ Z4 @ R2 )
         => ( hF_Mir796903520_hpair @ Z4 ) ) ) ) ).

% hrelation_def
thf(fact_22_is__hpair__def,axiom,
    ( hF_Mir796903520_hpair
    = ( ^ [Z4: hF_Mirabelle_hf] :
        ? [X2: hF_Mirabelle_hf,Y: hF_Mirabelle_hf] :
          ( Z4
          = ( hF_Mirabelle_hpair @ X2 @ Y ) ) ) ) ).

% is_hpair_def
thf(fact_23_PrimReplace__iff,axiom,
    ! [A2: hF_Mirabelle_hf,R3: hF_Mirabelle_hf > hF_Mirabelle_hf > $o,V4: hF_Mirabelle_hf] :
      ( ! [U: hF_Mirabelle_hf,V: hF_Mirabelle_hf,V2: hF_Mirabelle_hf] :
          ( ( hF_Mirabelle_hmem @ U @ A2 )
         => ( ( R3 @ U @ V )
           => ( ( R3 @ U @ V2 )
             => ( V2 = V ) ) ) )
     => ( ( hF_Mirabelle_hmem @ V4 @ ( hF_Mir569462966eplace @ A2 @ R3 ) )
        = ( ? [U2: hF_Mirabelle_hf] :
              ( ( hF_Mirabelle_hmem @ U2 @ A2 )
              & ( R3 @ U2 @ V4 ) ) ) ) ) ).

% PrimReplace_iff
thf(fact_24_HUnion__iff,axiom,
    ! [X: hF_Mirabelle_hf,A2: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hmem @ X @ ( hF_Mirabelle_HUnion @ A2 ) )
      = ( ? [Y: hF_Mirabelle_hf] :
            ( ( hF_Mirabelle_hmem @ Y @ A2 )
            & ( hF_Mirabelle_hmem @ X @ Y ) ) ) ) ).

% HUnion_iff
thf(fact_25_Replace__iff,axiom,
    ! [V4: hF_Mirabelle_hf,A2: hF_Mirabelle_hf,R3: hF_Mirabelle_hf > hF_Mirabelle_hf > $o] :
      ( ( hF_Mirabelle_hmem @ V4 @ ( hF_Mirabelle_Replace @ A2 @ R3 ) )
      = ( ? [U2: hF_Mirabelle_hf] :
            ( ( hF_Mirabelle_hmem @ U2 @ A2 )
            & ( R3 @ U2 @ V4 )
            & ! [Y: hF_Mirabelle_hf] :
                ( ( R3 @ U2 @ Y )
               => ( Y = V4 ) ) ) ) ) ).

% Replace_iff
thf(fact_26_HCollect__iff,axiom,
    ! [X: hF_Mirabelle_hf,P: hF_Mirabelle_hf > $o,A2: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hmem @ X @ ( hF_Mir1687042746ollect @ P @ A2 ) )
      = ( ( P @ X )
        & ( hF_Mirabelle_hmem @ X @ A2 ) ) ) ).

% HCollect_iff
thf(fact_27_RepFun__iff,axiom,
    ! [V4: hF_Mirabelle_hf,A2: hF_Mirabelle_hf,F: hF_Mirabelle_hf > hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hmem @ V4 @ ( hF_Mirabelle_RepFun @ A2 @ F ) )
      = ( ? [U2: hF_Mirabelle_hf] :
            ( ( hF_Mirabelle_hmem @ U2 @ A2 )
            & ( V4
              = ( F @ U2 ) ) ) ) ) ).

% RepFun_iff
thf(fact_28_Rep__hf__inverse,axiom,
    ! [X: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_Abs_hf @ ( hF_Mirabelle_Rep_hf @ X ) )
      = X ) ).

% Rep_hf_inverse
thf(fact_29_RepFun__cong,axiom,
    ! [A2: hF_Mirabelle_hf,B5: hF_Mirabelle_hf,F: hF_Mirabelle_hf > hF_Mirabelle_hf,G: hF_Mirabelle_hf > hF_Mirabelle_hf] :
      ( ( A2 = B5 )
     => ( ! [X3: hF_Mirabelle_hf] :
            ( ( hF_Mirabelle_hmem @ X3 @ B5 )
           => ( ( F @ X3 )
              = ( G @ X3 ) ) )
       => ( ( hF_Mirabelle_RepFun @ A2 @ F )
          = ( hF_Mirabelle_RepFun @ B5 @ G ) ) ) ) ).

% RepFun_cong
thf(fact_30_Replace__cong,axiom,
    ! [A2: hF_Mirabelle_hf,B5: hF_Mirabelle_hf,P: hF_Mirabelle_hf > hF_Mirabelle_hf > $o,Q: hF_Mirabelle_hf > hF_Mirabelle_hf > $o] :
      ( ( A2 = B5 )
     => ( ! [X3: hF_Mirabelle_hf,Y5: hF_Mirabelle_hf] :
            ( ( hF_Mirabelle_hmem @ X3 @ B5 )
           => ( ( P @ X3 @ Y5 )
              = ( Q @ X3 @ Y5 ) ) )
       => ( ( hF_Mirabelle_Replace @ A2 @ P )
          = ( hF_Mirabelle_Replace @ B5 @ Q ) ) ) ) ).

% Replace_cong
thf(fact_31_hmem__Sup__ne,axiom,
    ! [X: hF_Mirabelle_hf,Y3: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hmem @ X @ Y3 )
     => ( ( hF_Mirabelle_HUnion @ X )
       != Y3 ) ) ).

% hmem_Sup_ne
thf(fact_32_Abs__hf__inverse,axiom,
    ! [Y3: nat] :
      ( ( member @ nat @ Y3 @ ( top_top @ ( set @ nat ) ) )
     => ( ( hF_Mirabelle_Rep_hf @ ( hF_Mirabelle_Abs_hf @ Y3 ) )
        = Y3 ) ) ).

% Abs_hf_inverse
thf(fact_33_zero__notin__hpair,axiom,
    ! [X: hF_Mirabelle_hf,Y3: hF_Mirabelle_hf] :
      ~ ( hF_Mirabelle_hmem @ ( zero_zero @ hF_Mirabelle_hf ) @ ( hF_Mirabelle_hpair @ X @ Y3 ) ) ).

% zero_notin_hpair
thf(fact_34_hmem__def,axiom,
    ( hF_Mirabelle_hmem
    = ( ^ [A5: hF_Mirabelle_hf,B4: hF_Mirabelle_hf] : ( member @ hF_Mirabelle_hf @ A5 @ ( hF_Mirabelle_hfset @ B4 ) ) ) ) ).

% hmem_def
thf(fact_35_HCollect__hempty,axiom,
    ! [P: hF_Mirabelle_hf > $o] :
      ( ( hF_Mir1687042746ollect @ P @ ( zero_zero @ hF_Mirabelle_hf ) )
      = ( zero_zero @ hF_Mirabelle_hf ) ) ).

% HCollect_hempty
thf(fact_36_HUnion__hempty,axiom,
    ( ( hF_Mirabelle_HUnion @ ( zero_zero @ hF_Mirabelle_hf ) )
    = ( zero_zero @ hF_Mirabelle_hf ) ) ).

% HUnion_hempty
thf(fact_37_Replace__0,axiom,
    ! [R3: hF_Mirabelle_hf > hF_Mirabelle_hf > $o] :
      ( ( hF_Mirabelle_Replace @ ( zero_zero @ hF_Mirabelle_hf ) @ R3 )
      = ( zero_zero @ hF_Mirabelle_hf ) ) ).

% Replace_0
thf(fact_38_RepFun__0,axiom,
    ! [F: hF_Mirabelle_hf > hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_RepFun @ ( zero_zero @ hF_Mirabelle_hf ) @ F )
      = ( zero_zero @ hF_Mirabelle_hf ) ) ).

% RepFun_0
thf(fact_39_RepFun__hinsert,axiom,
    ! [A3: hF_Mirabelle_hf,B2: hF_Mirabelle_hf,F: hF_Mirabelle_hf > hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_RepFun @ ( hF_Mirabelle_hinsert @ A3 @ B2 ) @ F )
      = ( hF_Mirabelle_hinsert @ ( F @ A3 ) @ ( hF_Mirabelle_RepFun @ B2 @ F ) ) ) ).

% RepFun_hinsert
thf(fact_40_hrelation__hunion,axiom,
    ! [F: hF_Mirabelle_hf,G: hF_Mirabelle_hf] :
      ( ( hF_Mir1093797708lation @ ( sup_sup @ hF_Mirabelle_hf @ F @ G ) )
      = ( ( hF_Mir1093797708lation @ F )
        & ( hF_Mir1093797708lation @ G ) ) ) ).

% hrelation_hunion
thf(fact_41_hmem__hinsert,axiom,
    ! [A3: hF_Mirabelle_hf,B2: hF_Mirabelle_hf,C: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hmem @ A3 @ ( hF_Mirabelle_hinsert @ B2 @ C ) )
      = ( ( A3 = B2 )
        | ( hF_Mirabelle_hmem @ A3 @ C ) ) ) ).

% hmem_hinsert
thf(fact_42_singleton__eq__iff,axiom,
    ! [A3: hF_Mirabelle_hf,B2: hF_Mirabelle_hf] :
      ( ( ( hF_Mirabelle_hinsert @ A3 @ ( zero_zero @ hF_Mirabelle_hf ) )
        = ( hF_Mirabelle_hinsert @ B2 @ ( zero_zero @ hF_Mirabelle_hf ) ) )
      = ( A3 = B2 ) ) ).

% singleton_eq_iff
thf(fact_43_hunion__iff,axiom,
    ! [X: hF_Mirabelle_hf,A3: hF_Mirabelle_hf,B2: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hmem @ X @ ( sup_sup @ hF_Mirabelle_hf @ A3 @ B2 ) )
      = ( ( hF_Mirabelle_hmem @ X @ A3 )
        | ( hF_Mirabelle_hmem @ X @ B2 ) ) ) ).

% hunion_iff
thf(fact_44_hunion__hempty__left,axiom,
    ! [A2: hF_Mirabelle_hf] :
      ( ( sup_sup @ hF_Mirabelle_hf @ ( zero_zero @ hF_Mirabelle_hf ) @ A2 )
      = A2 ) ).

% hunion_hempty_left
thf(fact_45_mem__Collect__eq,axiom,
    ! [A: $tType,A3: A,P: A > $o] :
      ( ( member @ A @ A3 @ ( collect @ A @ P ) )
      = ( P @ A3 ) ) ).

% mem_Collect_eq
thf(fact_46_Collect__mem__eq,axiom,
    ! [A: $tType,A2: set @ A] :
      ( ( collect @ A
        @ ^ [X2: A] : ( member @ A @ X2 @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_47_Collect__cong,axiom,
    ! [A: $tType,P: A > $o,Q: A > $o] :
      ( ! [X3: A] :
          ( ( P @ X3 )
          = ( Q @ X3 ) )
     => ( ( collect @ A @ P )
        = ( collect @ A @ Q ) ) ) ).

% Collect_cong
thf(fact_48_ext,axiom,
    ! [B: $tType,A: $tType,F: A > B,G: A > B] :
      ( ! [X3: A] :
          ( ( F @ X3 )
          = ( G @ X3 ) )
     => ( F = G ) ) ).

% ext
thf(fact_49_hunion__hempty__right,axiom,
    ! [A2: hF_Mirabelle_hf] :
      ( ( sup_sup @ hF_Mirabelle_hf @ A2 @ ( zero_zero @ hF_Mirabelle_hf ) )
      = A2 ) ).

% hunion_hempty_right
thf(fact_50_RepFun__hunion,axiom,
    ! [A2: hF_Mirabelle_hf,B5: hF_Mirabelle_hf,F: hF_Mirabelle_hf > hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_RepFun @ ( sup_sup @ hF_Mirabelle_hf @ A2 @ B5 ) @ F )
      = ( sup_sup @ hF_Mirabelle_hf @ ( hF_Mirabelle_RepFun @ A2 @ F ) @ ( hF_Mirabelle_RepFun @ B5 @ F ) ) ) ).

% RepFun_hunion
thf(fact_51_HUnion__hunion,axiom,
    ! [A2: hF_Mirabelle_hf,B5: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_HUnion @ ( sup_sup @ hF_Mirabelle_hf @ A2 @ B5 ) )
      = ( sup_sup @ hF_Mirabelle_hf @ ( hF_Mirabelle_HUnion @ A2 ) @ ( hF_Mirabelle_HUnion @ B5 ) ) ) ).

% HUnion_hunion
thf(fact_52_Replace__hunion,axiom,
    ! [A2: hF_Mirabelle_hf,B5: hF_Mirabelle_hf,R3: hF_Mirabelle_hf > hF_Mirabelle_hf > $o] :
      ( ( hF_Mirabelle_Replace @ ( sup_sup @ hF_Mirabelle_hf @ A2 @ B5 ) @ R3 )
      = ( sup_sup @ hF_Mirabelle_hf @ ( hF_Mirabelle_Replace @ A2 @ R3 ) @ ( hF_Mirabelle_Replace @ B5 @ R3 ) ) ) ).

% Replace_hunion
thf(fact_53_HUnion__hinsert,axiom,
    ! [A3: hF_Mirabelle_hf,A2: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_HUnion @ ( hF_Mirabelle_hinsert @ A3 @ A2 ) )
      = ( sup_sup @ hF_Mirabelle_hf @ A3 @ ( hF_Mirabelle_HUnion @ A2 ) ) ) ).

% HUnion_hinsert
thf(fact_54_hf__induct__ax,axiom,
    ! [P: hF_Mirabelle_hf > $o,X: hF_Mirabelle_hf] :
      ( ( P @ ( zero_zero @ hF_Mirabelle_hf ) )
     => ( ! [X3: hF_Mirabelle_hf] :
            ( ( P @ X3 )
           => ! [Y5: hF_Mirabelle_hf] :
                ( ( P @ Y5 )
               => ( P @ ( hF_Mirabelle_hinsert @ Y5 @ X3 ) ) ) )
       => ( P @ X ) ) ) ).

% hf_induct_ax
thf(fact_55_hinsert__eq__sup,axiom,
    ( hF_Mirabelle_hinsert
    = ( ^ [A5: hF_Mirabelle_hf,B4: hF_Mirabelle_hf] : ( sup_sup @ hF_Mirabelle_hf @ B4 @ ( hF_Mirabelle_hinsert @ A5 @ ( zero_zero @ hF_Mirabelle_hf ) ) ) ) ) ).

% hinsert_eq_sup
thf(fact_56_hinsert__commute,axiom,
    ! [X: hF_Mirabelle_hf,Y3: hF_Mirabelle_hf,Z: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hinsert @ X @ ( hF_Mirabelle_hinsert @ Y3 @ Z ) )
      = ( hF_Mirabelle_hinsert @ Y3 @ ( hF_Mirabelle_hinsert @ X @ Z ) ) ) ).

% hinsert_commute
thf(fact_57_HF__Mirabelle__fsbjehakzm_Odoubleton__eq__iff,axiom,
    ! [A3: hF_Mirabelle_hf,B2: hF_Mirabelle_hf,C: hF_Mirabelle_hf,D: hF_Mirabelle_hf] :
      ( ( ( hF_Mirabelle_hinsert @ A3 @ ( hF_Mirabelle_hinsert @ B2 @ ( zero_zero @ hF_Mirabelle_hf ) ) )
        = ( hF_Mirabelle_hinsert @ C @ ( hF_Mirabelle_hinsert @ D @ ( zero_zero @ hF_Mirabelle_hf ) ) ) )
      = ( ( ( A3 = C )
          & ( B2 = D ) )
        | ( ( A3 = D )
          & ( B2 = C ) ) ) ) ).

% HF_Mirabelle_fsbjehakzm.doubleton_eq_iff
thf(fact_58_hinsert__nonempty,axiom,
    ! [A3: hF_Mirabelle_hf,A2: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hinsert @ A3 @ A2 )
     != ( zero_zero @ hF_Mirabelle_hf ) ) ).

% hinsert_nonempty
thf(fact_59_hunion__hinsert__left,axiom,
    ! [X: hF_Mirabelle_hf,A2: hF_Mirabelle_hf,B5: hF_Mirabelle_hf] :
      ( ( sup_sup @ hF_Mirabelle_hf @ ( hF_Mirabelle_hinsert @ X @ A2 ) @ B5 )
      = ( hF_Mirabelle_hinsert @ X @ ( sup_sup @ hF_Mirabelle_hf @ A2 @ B5 ) ) ) ).

% hunion_hinsert_left
thf(fact_60_hunion__hinsert__right,axiom,
    ! [B5: hF_Mirabelle_hf,X: hF_Mirabelle_hf,A2: hF_Mirabelle_hf] :
      ( ( sup_sup @ hF_Mirabelle_hf @ B5 @ ( hF_Mirabelle_hinsert @ X @ A2 ) )
      = ( hF_Mirabelle_hinsert @ X @ ( sup_sup @ hF_Mirabelle_hf @ B5 @ A2 ) ) ) ).

% hunion_hinsert_right
thf(fact_61_hf__cases,axiom,
    ! [Y3: hF_Mirabelle_hf] :
      ( ( Y3
       != ( zero_zero @ hF_Mirabelle_hf ) )
     => ~ ! [A6: hF_Mirabelle_hf,B6: hF_Mirabelle_hf] :
            ( ( Y3
              = ( hF_Mirabelle_hinsert @ A6 @ B6 ) )
           => ( hF_Mirabelle_hmem @ A6 @ B6 ) ) ) ).

% hf_cases
thf(fact_62_hf__induct,axiom,
    ! [P: hF_Mirabelle_hf > $o,Z: hF_Mirabelle_hf] :
      ( ( P @ ( zero_zero @ hF_Mirabelle_hf ) )
     => ( ! [X3: hF_Mirabelle_hf,Y5: hF_Mirabelle_hf] :
            ( ( P @ X3 )
           => ( ( P @ Y5 )
             => ( ~ ( hF_Mirabelle_hmem @ X3 @ Y5 )
               => ( P @ ( hF_Mirabelle_hinsert @ X3 @ Y5 ) ) ) ) )
       => ( P @ Z ) ) ) ).

% hf_induct
thf(fact_63_hpair__def,axiom,
    ( hF_Mirabelle_hpair
    = ( ^ [A5: hF_Mirabelle_hf,B4: hF_Mirabelle_hf] : ( hF_Mirabelle_hinsert @ ( hF_Mirabelle_hinsert @ A5 @ ( zero_zero @ hF_Mirabelle_hf ) ) @ ( hF_Mirabelle_hinsert @ ( hF_Mirabelle_hinsert @ A5 @ ( hF_Mirabelle_hinsert @ B4 @ ( zero_zero @ hF_Mirabelle_hf ) ) ) @ ( zero_zero @ hF_Mirabelle_hf ) ) ) ) ) ).

% hpair_def
thf(fact_64_hpair__def_H,axiom,
    ( hF_Mirabelle_hpair
    = ( ^ [A5: hF_Mirabelle_hf,B4: hF_Mirabelle_hf] : ( hF_Mirabelle_hinsert @ ( hF_Mirabelle_hinsert @ A5 @ ( hF_Mirabelle_hinsert @ A5 @ ( zero_zero @ hF_Mirabelle_hf ) ) ) @ ( hF_Mirabelle_hinsert @ ( hF_Mirabelle_hinsert @ A5 @ ( hF_Mirabelle_hinsert @ B4 @ ( zero_zero @ hF_Mirabelle_hf ) ) ) @ ( zero_zero @ hF_Mirabelle_hf ) ) ) ) ) ).

% hpair_def'
thf(fact_65_hinsert__iff,axiom,
    ! [Z: hF_Mirabelle_hf,Y3: hF_Mirabelle_hf,X: hF_Mirabelle_hf] :
      ( ( Z
        = ( hF_Mirabelle_hinsert @ Y3 @ X ) )
      = ( ! [U2: hF_Mirabelle_hf] :
            ( ( hF_Mirabelle_hmem @ U2 @ Z )
            = ( ( hF_Mirabelle_hmem @ U2 @ X )
              | ( U2 = Y3 ) ) ) ) ) ).

% hinsert_iff
thf(fact_66_hemptyE,axiom,
    ! [A3: hF_Mirabelle_hf] :
      ~ ( hF_Mirabelle_hmem @ A3 @ ( zero_zero @ hF_Mirabelle_hf ) ) ).

% hemptyE
thf(fact_67_hempty__iff,axiom,
    ! [Z: hF_Mirabelle_hf] :
      ( ( Z
        = ( zero_zero @ hF_Mirabelle_hf ) )
      = ( ! [X2: hF_Mirabelle_hf] :
            ~ ( hF_Mirabelle_hmem @ X2 @ Z ) ) ) ).

% hempty_iff
thf(fact_68_hmem__hempty,axiom,
    ! [A3: hF_Mirabelle_hf] :
      ~ ( hF_Mirabelle_hmem @ A3 @ ( zero_zero @ hF_Mirabelle_hf ) ) ).

% hmem_hempty
thf(fact_69_hpair__nonzero,axiom,
    ! [X: hF_Mirabelle_hf,Y3: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hpair @ X @ Y3 )
     != ( zero_zero @ hF_Mirabelle_hf ) ) ).

% hpair_nonzero
thf(fact_70_Rep__hf,axiom,
    ! [X: hF_Mirabelle_hf] : ( member @ nat @ ( hF_Mirabelle_Rep_hf @ X ) @ ( top_top @ ( set @ nat ) ) ) ).

% Rep_hf
thf(fact_71_Rep__hf__cases,axiom,
    ! [Y3: nat] :
      ( ( member @ nat @ Y3 @ ( top_top @ ( set @ nat ) ) )
     => ~ ! [X3: hF_Mirabelle_hf] :
            ( Y3
           != ( hF_Mirabelle_Rep_hf @ X3 ) ) ) ).

% Rep_hf_cases
thf(fact_72_Rep__hf__induct,axiom,
    ! [Y3: nat,P: nat > $o] :
      ( ( member @ nat @ Y3 @ ( top_top @ ( set @ nat ) ) )
     => ( ! [X3: hF_Mirabelle_hf] : ( P @ ( hF_Mirabelle_Rep_hf @ X3 ) )
       => ( P @ Y3 ) ) ) ).

% Rep_hf_induct
thf(fact_73_Abs__hf__cases,axiom,
    ! [X: hF_Mirabelle_hf] :
      ~ ! [Y5: nat] :
          ( ( X
            = ( hF_Mirabelle_Abs_hf @ Y5 ) )
         => ~ ( member @ nat @ Y5 @ ( top_top @ ( set @ nat ) ) ) ) ).

% Abs_hf_cases
thf(fact_74_Abs__hf__induct,axiom,
    ! [P: hF_Mirabelle_hf > $o,X: hF_Mirabelle_hf] :
      ( ! [Y5: nat] :
          ( ( member @ nat @ Y5 @ ( top_top @ ( set @ nat ) ) )
         => ( P @ ( hF_Mirabelle_Abs_hf @ Y5 ) ) )
     => ( P @ X ) ) ).

% Abs_hf_induct
thf(fact_75_Abs__hf__inject,axiom,
    ! [X: nat,Y3: nat] :
      ( ( member @ nat @ X @ ( top_top @ ( set @ nat ) ) )
     => ( ( member @ nat @ Y3 @ ( top_top @ ( set @ nat ) ) )
       => ( ( ( hF_Mirabelle_Abs_hf @ X )
            = ( hF_Mirabelle_Abs_hf @ Y3 ) )
          = ( X = Y3 ) ) ) ) ).

% Abs_hf_inject
thf(fact_76_hrelation__0,axiom,
    hF_Mir1093797708lation @ ( zero_zero @ hF_Mirabelle_hf ) ).

% hrelation_0
thf(fact_77_sup__top__left,axiom,
    ! [A: $tType] :
      ( ( bounded_lattice_top @ A )
     => ! [X: A] :
          ( ( sup_sup @ A @ ( top_top @ A ) @ X )
          = ( top_top @ A ) ) ) ).

% sup_top_left
thf(fact_78_sup__top__right,axiom,
    ! [A: $tType] :
      ( ( bounded_lattice_top @ A )
     => ! [X: A] :
          ( ( sup_sup @ A @ X @ ( top_top @ A ) )
          = ( top_top @ A ) ) ) ).

% sup_top_right
thf(fact_79_HInter__iff,axiom,
    ! [A2: hF_Mirabelle_hf,X: hF_Mirabelle_hf] :
      ( ( A2
       != ( zero_zero @ hF_Mirabelle_hf ) )
     => ( ( hF_Mirabelle_hmem @ X @ ( hF_Mirabelle_HInter @ A2 ) )
        = ( ! [Y: hF_Mirabelle_hf] :
              ( ( hF_Mirabelle_hmem @ Y @ A2 )
             => ( hF_Mirabelle_hmem @ X @ Y ) ) ) ) ) ).

% HInter_iff
thf(fact_80_sup__apply,axiom,
    ! [B: $tType,A: $tType] :
      ( ( semilattice_sup @ B )
     => ( ( sup_sup @ ( A > B ) )
        = ( ^ [F2: A > B,G2: A > B,X2: A] : ( sup_sup @ B @ ( F2 @ X2 ) @ ( G2 @ X2 ) ) ) ) ) ).

% sup_apply
thf(fact_81_sup_Oidem,axiom,
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [A3: A] :
          ( ( sup_sup @ A @ A3 @ A3 )
          = A3 ) ) ).

% sup.idem
thf(fact_82_sup__idem,axiom,
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [X: A] :
          ( ( sup_sup @ A @ X @ X )
          = X ) ) ).

% sup_idem
thf(fact_83_sup_Oleft__idem,axiom,
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [A3: A,B2: A] :
          ( ( sup_sup @ A @ A3 @ ( sup_sup @ A @ A3 @ B2 ) )
          = ( sup_sup @ A @ A3 @ B2 ) ) ) ).

% sup.left_idem
thf(fact_84_sup__left__idem,axiom,
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [X: A,Y3: A] :
          ( ( sup_sup @ A @ X @ ( sup_sup @ A @ X @ Y3 ) )
          = ( sup_sup @ A @ X @ Y3 ) ) ) ).

% sup_left_idem
thf(fact_85_sup_Oright__idem,axiom,
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [A3: A,B2: A] :
          ( ( sup_sup @ A @ ( sup_sup @ A @ A3 @ B2 ) @ B2 )
          = ( sup_sup @ A @ A3 @ B2 ) ) ) ).

% sup.right_idem
thf(fact_86_HInter__hempty,axiom,
    ( ( hF_Mirabelle_HInter @ ( zero_zero @ hF_Mirabelle_hf ) )
    = ( zero_zero @ hF_Mirabelle_hf ) ) ).

% HInter_hempty
thf(fact_87_sup__left__commute,axiom,
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [X: A,Y3: A,Z: A] :
          ( ( sup_sup @ A @ X @ ( sup_sup @ A @ Y3 @ Z ) )
          = ( sup_sup @ A @ Y3 @ ( sup_sup @ A @ X @ Z ) ) ) ) ).

% sup_left_commute
thf(fact_88_sup_Oleft__commute,axiom,
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [B2: A,A3: A,C: A] :
          ( ( sup_sup @ A @ B2 @ ( sup_sup @ A @ A3 @ C ) )
          = ( sup_sup @ A @ A3 @ ( sup_sup @ A @ B2 @ C ) ) ) ) ).

% sup.left_commute
thf(fact_89_sup__commute,axiom,
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ( ( sup_sup @ A )
        = ( ^ [X2: A,Y: A] : ( sup_sup @ A @ Y @ X2 ) ) ) ) ).

% sup_commute
thf(fact_90_sup_Ocommute,axiom,
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ( ( sup_sup @ A )
        = ( ^ [A5: A,B4: A] : ( sup_sup @ A @ B4 @ A5 ) ) ) ) ).

% sup.commute
thf(fact_91_sup__assoc,axiom,
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [X: A,Y3: A,Z: A] :
          ( ( sup_sup @ A @ ( sup_sup @ A @ X @ Y3 ) @ Z )
          = ( sup_sup @ A @ X @ ( sup_sup @ A @ Y3 @ Z ) ) ) ) ).

% sup_assoc
thf(fact_92_sup_Oassoc,axiom,
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [A3: A,B2: A,C: A] :
          ( ( sup_sup @ A @ ( sup_sup @ A @ A3 @ B2 ) @ C )
          = ( sup_sup @ A @ A3 @ ( sup_sup @ A @ B2 @ C ) ) ) ) ).

% sup.assoc
thf(fact_93_boolean__algebra__cancel_Osup2,axiom,
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [B5: A,K: A,B2: A,A3: A] :
          ( ( B5
            = ( sup_sup @ A @ K @ B2 ) )
         => ( ( sup_sup @ A @ A3 @ B5 )
            = ( sup_sup @ A @ K @ ( sup_sup @ A @ A3 @ B2 ) ) ) ) ) ).

% boolean_algebra_cancel.sup2
thf(fact_94_boolean__algebra__cancel_Osup1,axiom,
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [A2: A,K: A,A3: A,B2: A] :
          ( ( A2
            = ( sup_sup @ A @ K @ A3 ) )
         => ( ( sup_sup @ A @ A2 @ B2 )
            = ( sup_sup @ A @ K @ ( sup_sup @ A @ A3 @ B2 ) ) ) ) ) ).

% boolean_algebra_cancel.sup1
thf(fact_95_sup__fun__def,axiom,
    ! [B: $tType,A: $tType] :
      ( ( semilattice_sup @ B )
     => ( ( sup_sup @ ( A > B ) )
        = ( ^ [F2: A > B,G2: A > B,X2: A] : ( sup_sup @ B @ ( F2 @ X2 ) @ ( G2 @ X2 ) ) ) ) ) ).

% sup_fun_def
thf(fact_96_inf__sup__aci_I5_J,axiom,
    ! [A: $tType] :
      ( ( lattice @ A )
     => ( ( sup_sup @ A )
        = ( ^ [X2: A,Y: A] : ( sup_sup @ A @ Y @ X2 ) ) ) ) ).

% inf_sup_aci(5)
thf(fact_97_inf__sup__aci_I6_J,axiom,
    ! [A: $tType] :
      ( ( lattice @ A )
     => ! [X: A,Y3: A,Z: A] :
          ( ( sup_sup @ A @ ( sup_sup @ A @ X @ Y3 ) @ Z )
          = ( sup_sup @ A @ X @ ( sup_sup @ A @ Y3 @ Z ) ) ) ) ).

% inf_sup_aci(6)
thf(fact_98_inf__sup__aci_I7_J,axiom,
    ! [A: $tType] :
      ( ( lattice @ A )
     => ! [X: A,Y3: A,Z: A] :
          ( ( sup_sup @ A @ X @ ( sup_sup @ A @ Y3 @ Z ) )
          = ( sup_sup @ A @ Y3 @ ( sup_sup @ A @ X @ Z ) ) ) ) ).

% inf_sup_aci(7)
thf(fact_99_inf__sup__aci_I8_J,axiom,
    ! [A: $tType] :
      ( ( lattice @ A )
     => ! [X: A,Y3: A] :
          ( ( sup_sup @ A @ X @ ( sup_sup @ A @ X @ Y3 ) )
          = ( sup_sup @ A @ X @ Y3 ) ) ) ).

% inf_sup_aci(8)
thf(fact_100_iso__tuple__UNIV__I,axiom,
    ! [A: $tType,X: A] : ( member @ A @ X @ ( top_top @ ( set @ A ) ) ) ).

% iso_tuple_UNIV_I
thf(fact_101_UNIV__I,axiom,
    ! [A: $tType,X: A] : ( member @ A @ X @ ( top_top @ ( set @ A ) ) ) ).

% UNIV_I
thf(fact_102_top__apply,axiom,
    ! [C2: $tType,D2: $tType] :
      ( ( top @ C2 )
     => ( ( top_top @ ( D2 > C2 ) )
        = ( ^ [X2: D2] : ( top_top @ C2 ) ) ) ) ).

% top_apply
thf(fact_103_HInter__hinsert,axiom,
    ! [A2: hF_Mirabelle_hf,A3: hF_Mirabelle_hf] :
      ( ( A2
       != ( zero_zero @ hF_Mirabelle_hf ) )
     => ( ( hF_Mirabelle_HInter @ ( hF_Mirabelle_hinsert @ A3 @ A2 ) )
        = ( inf_inf @ hF_Mirabelle_hf @ A3 @ ( hF_Mirabelle_HInter @ A2 ) ) ) ) ).

% HInter_hinsert
thf(fact_104_type__definition__hf,axiom,
    type_definition @ hF_Mirabelle_hf @ nat @ hF_Mirabelle_Rep_hf @ hF_Mirabelle_Abs_hf @ ( top_top @ ( set @ nat ) ) ).

% type_definition_hf
thf(fact_105_inf__right__idem,axiom,
    ! [A: $tType] :
      ( ( semilattice_inf @ A )
     => ! [X: A,Y3: A] :
          ( ( inf_inf @ A @ ( inf_inf @ A @ X @ Y3 ) @ Y3 )
          = ( inf_inf @ A @ X @ Y3 ) ) ) ).

% inf_right_idem
thf(fact_106_inf_Oright__idem,axiom,
    ! [A: $tType] :
      ( ( semilattice_inf @ A )
     => ! [A3: A,B2: A] :
          ( ( inf_inf @ A @ ( inf_inf @ A @ A3 @ B2 ) @ B2 )
          = ( inf_inf @ A @ A3 @ B2 ) ) ) ).

% inf.right_idem
thf(fact_107_inf__left__idem,axiom,
    ! [A: $tType] :
      ( ( semilattice_inf @ A )
     => ! [X: A,Y3: A] :
          ( ( inf_inf @ A @ X @ ( inf_inf @ A @ X @ Y3 ) )
          = ( inf_inf @ A @ X @ Y3 ) ) ) ).

% inf_left_idem
thf(fact_108_inf_Oleft__idem,axiom,
    ! [A: $tType] :
      ( ( semilattice_inf @ A )
     => ! [A3: A,B2: A] :
          ( ( inf_inf @ A @ A3 @ ( inf_inf @ A @ A3 @ B2 ) )
          = ( inf_inf @ A @ A3 @ B2 ) ) ) ).

% inf.left_idem
thf(fact_109_inf__idem,axiom,
    ! [A: $tType] :
      ( ( semilattice_inf @ A )
     => ! [X: A] :
          ( ( inf_inf @ A @ X @ X )
          = X ) ) ).

% inf_idem
thf(fact_110_inf_Oidem,axiom,
    ! [A: $tType] :
      ( ( semilattice_inf @ A )
     => ! [A3: A] :
          ( ( inf_inf @ A @ A3 @ A3 )
          = A3 ) ) ).

% inf.idem
thf(fact_111_inf__apply,axiom,
    ! [B: $tType,A: $tType] :
      ( ( semilattice_inf @ B )
     => ( ( inf_inf @ ( A > B ) )
        = ( ^ [F2: A > B,G2: A > B,X2: A] : ( inf_inf @ B @ ( F2 @ X2 ) @ ( G2 @ X2 ) ) ) ) ) ).

% inf_apply
thf(fact_112_inf__top_Oright__neutral,axiom,
    ! [A: $tType] :
      ( ( bounde1561333602nf_top @ A )
     => ! [A3: A] :
          ( ( inf_inf @ A @ A3 @ ( top_top @ A ) )
          = A3 ) ) ).

% inf_top.right_neutral
thf(fact_113_inf__top_Oneutr__eq__iff,axiom,
    ! [A: $tType] :
      ( ( bounde1561333602nf_top @ A )
     => ! [A3: A,B2: A] :
          ( ( ( top_top @ A )
            = ( inf_inf @ A @ A3 @ B2 ) )
          = ( ( A3
              = ( top_top @ A ) )
            & ( B2
              = ( top_top @ A ) ) ) ) ) ).

% inf_top.neutr_eq_iff
thf(fact_114_inf__top_Oleft__neutral,axiom,
    ! [A: $tType] :
      ( ( bounde1561333602nf_top @ A )
     => ! [A3: A] :
          ( ( inf_inf @ A @ ( top_top @ A ) @ A3 )
          = A3 ) ) ).

% inf_top.left_neutral
thf(fact_115_inf__top_Oeq__neutr__iff,axiom,
    ! [A: $tType] :
      ( ( bounde1561333602nf_top @ A )
     => ! [A3: A,B2: A] :
          ( ( ( inf_inf @ A @ A3 @ B2 )
            = ( top_top @ A ) )
          = ( ( A3
              = ( top_top @ A ) )
            & ( B2
              = ( top_top @ A ) ) ) ) ) ).

% inf_top.eq_neutr_iff
thf(fact_116_top__eq__inf__iff,axiom,
    ! [A: $tType] :
      ( ( bounde1561333602nf_top @ A )
     => ! [X: A,Y3: A] :
          ( ( ( top_top @ A )
            = ( inf_inf @ A @ X @ Y3 ) )
          = ( ( X
              = ( top_top @ A ) )
            & ( Y3
              = ( top_top @ A ) ) ) ) ) ).

% top_eq_inf_iff
thf(fact_117_inf__eq__top__iff,axiom,
    ! [A: $tType] :
      ( ( bounde1561333602nf_top @ A )
     => ! [X: A,Y3: A] :
          ( ( ( inf_inf @ A @ X @ Y3 )
            = ( top_top @ A ) )
          = ( ( X
              = ( top_top @ A ) )
            & ( Y3
              = ( top_top @ A ) ) ) ) ) ).

% inf_eq_top_iff
thf(fact_118_inf__top__right,axiom,
    ! [A: $tType] :
      ( ( bounde1561333602nf_top @ A )
     => ! [X: A] :
          ( ( inf_inf @ A @ X @ ( top_top @ A ) )
          = X ) ) ).

% inf_top_right
thf(fact_119_inf__top__left,axiom,
    ! [A: $tType] :
      ( ( bounde1561333602nf_top @ A )
     => ! [X: A] :
          ( ( inf_inf @ A @ ( top_top @ A ) @ X )
          = X ) ) ).

% inf_top_left
thf(fact_120_inf__sup__absorb,axiom,
    ! [A: $tType] :
      ( ( lattice @ A )
     => ! [X: A,Y3: A] :
          ( ( inf_inf @ A @ X @ ( sup_sup @ A @ X @ Y3 ) )
          = X ) ) ).

% inf_sup_absorb
thf(fact_121_sup__inf__absorb,axiom,
    ! [A: $tType] :
      ( ( lattice @ A )
     => ! [X: A,Y3: A] :
          ( ( sup_sup @ A @ X @ ( inf_inf @ A @ X @ Y3 ) )
          = X ) ) ).

% sup_inf_absorb
thf(fact_122_hinter__iff,axiom,
    ! [U4: hF_Mirabelle_hf,X: hF_Mirabelle_hf,Y3: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hmem @ U4 @ ( inf_inf @ hF_Mirabelle_hf @ X @ Y3 ) )
      = ( ( hF_Mirabelle_hmem @ U4 @ X )
        & ( hF_Mirabelle_hmem @ U4 @ Y3 ) ) ) ).

% hinter_iff
thf(fact_123_hinter__hempty__left,axiom,
    ! [A2: hF_Mirabelle_hf] :
      ( ( inf_inf @ hF_Mirabelle_hf @ ( zero_zero @ hF_Mirabelle_hf ) @ A2 )
      = ( zero_zero @ hF_Mirabelle_hf ) ) ).

% hinter_hempty_left
thf(fact_124_hinter__hempty__right,axiom,
    ! [A2: hF_Mirabelle_hf] :
      ( ( inf_inf @ hF_Mirabelle_hf @ A2 @ ( zero_zero @ hF_Mirabelle_hf ) )
      = ( zero_zero @ hF_Mirabelle_hf ) ) ).

% hinter_hempty_right
thf(fact_125_Abs__hf__0,axiom,
    ( ( hF_Mirabelle_Abs_hf @ ( zero_zero @ nat ) )
    = ( zero_zero @ hF_Mirabelle_hf ) ) ).

% Abs_hf_0
thf(fact_126_inf__left__commute,axiom,
    ! [A: $tType] :
      ( ( semilattice_inf @ A )
     => ! [X: A,Y3: A,Z: A] :
          ( ( inf_inf @ A @ X @ ( inf_inf @ A @ Y3 @ Z ) )
          = ( inf_inf @ A @ Y3 @ ( inf_inf @ A @ X @ Z ) ) ) ) ).

% inf_left_commute
thf(fact_127_inf_Oleft__commute,axiom,
    ! [A: $tType] :
      ( ( semilattice_inf @ A )
     => ! [B2: A,A3: A,C: A] :
          ( ( inf_inf @ A @ B2 @ ( inf_inf @ A @ A3 @ C ) )
          = ( inf_inf @ A @ A3 @ ( inf_inf @ A @ B2 @ C ) ) ) ) ).

% inf.left_commute
thf(fact_128_inf__commute,axiom,
    ! [A: $tType] :
      ( ( semilattice_inf @ A )
     => ( ( inf_inf @ A )
        = ( ^ [X2: A,Y: A] : ( inf_inf @ A @ Y @ X2 ) ) ) ) ).

% inf_commute
thf(fact_129_inf_Ocommute,axiom,
    ! [A: $tType] :
      ( ( semilattice_inf @ A )
     => ( ( inf_inf @ A )
        = ( ^ [A5: A,B4: A] : ( inf_inf @ A @ B4 @ A5 ) ) ) ) ).

% inf.commute
thf(fact_130_inf__assoc,axiom,
    ! [A: $tType] :
      ( ( semilattice_inf @ A )
     => ! [X: A,Y3: A,Z: A] :
          ( ( inf_inf @ A @ ( inf_inf @ A @ X @ Y3 ) @ Z )
          = ( inf_inf @ A @ X @ ( inf_inf @ A @ Y3 @ Z ) ) ) ) ).

% inf_assoc
thf(fact_131_inf_Oassoc,axiom,
    ! [A: $tType] :
      ( ( semilattice_inf @ A )
     => ! [A3: A,B2: A,C: A] :
          ( ( inf_inf @ A @ ( inf_inf @ A @ A3 @ B2 ) @ C )
          = ( inf_inf @ A @ A3 @ ( inf_inf @ A @ B2 @ C ) ) ) ) ).

% inf.assoc
thf(fact_132_boolean__algebra__cancel_Oinf2,axiom,
    ! [A: $tType] :
      ( ( semilattice_inf @ A )
     => ! [B5: A,K: A,B2: A,A3: A] :
          ( ( B5
            = ( inf_inf @ A @ K @ B2 ) )
         => ( ( inf_inf @ A @ A3 @ B5 )
            = ( inf_inf @ A @ K @ ( inf_inf @ A @ A3 @ B2 ) ) ) ) ) ).

% boolean_algebra_cancel.inf2
thf(fact_133_boolean__algebra__cancel_Oinf1,axiom,
    ! [A: $tType] :
      ( ( semilattice_inf @ A )
     => ! [A2: A,K: A,A3: A,B2: A] :
          ( ( A2
            = ( inf_inf @ A @ K @ A3 ) )
         => ( ( inf_inf @ A @ A2 @ B2 )
            = ( inf_inf @ A @ K @ ( inf_inf @ A @ A3 @ B2 ) ) ) ) ) ).

% boolean_algebra_cancel.inf1
thf(fact_134_inf__fun__def,axiom,
    ! [B: $tType,A: $tType] :
      ( ( semilattice_inf @ B )
     => ( ( inf_inf @ ( A > B ) )
        = ( ^ [F2: A > B,G2: A > B,X2: A] : ( inf_inf @ B @ ( F2 @ X2 ) @ ( G2 @ X2 ) ) ) ) ) ).

% inf_fun_def
thf(fact_135_inf__sup__aci_I1_J,axiom,
    ! [A: $tType] :
      ( ( lattice @ A )
     => ( ( inf_inf @ A )
        = ( ^ [X2: A,Y: A] : ( inf_inf @ A @ Y @ X2 ) ) ) ) ).

% inf_sup_aci(1)
thf(fact_136_inf__sup__aci_I2_J,axiom,
    ! [A: $tType] :
      ( ( lattice @ A )
     => ! [X: A,Y3: A,Z: A] :
          ( ( inf_inf @ A @ ( inf_inf @ A @ X @ Y3 ) @ Z )
          = ( inf_inf @ A @ X @ ( inf_inf @ A @ Y3 @ Z ) ) ) ) ).

% inf_sup_aci(2)
thf(fact_137_inf__sup__aci_I3_J,axiom,
    ! [A: $tType] :
      ( ( lattice @ A )
     => ! [X: A,Y3: A,Z: A] :
          ( ( inf_inf @ A @ X @ ( inf_inf @ A @ Y3 @ Z ) )
          = ( inf_inf @ A @ Y3 @ ( inf_inf @ A @ X @ Z ) ) ) ) ).

% inf_sup_aci(3)
thf(fact_138_inf__sup__aci_I4_J,axiom,
    ! [A: $tType] :
      ( ( lattice @ A )
     => ! [X: A,Y3: A] :
          ( ( inf_inf @ A @ X @ ( inf_inf @ A @ X @ Y3 ) )
          = ( inf_inf @ A @ X @ Y3 ) ) ) ).

% inf_sup_aci(4)
thf(fact_139_sup__inf__distrib2,axiom,
    ! [A: $tType] :
      ( ( distrib_lattice @ A )
     => ! [Y3: A,Z: A,X: A] :
          ( ( sup_sup @ A @ ( inf_inf @ A @ Y3 @ Z ) @ X )
          = ( inf_inf @ A @ ( sup_sup @ A @ Y3 @ X ) @ ( sup_sup @ A @ Z @ X ) ) ) ) ).

% sup_inf_distrib2
thf(fact_140_sup__inf__distrib1,axiom,
    ! [A: $tType] :
      ( ( distrib_lattice @ A )
     => ! [X: A,Y3: A,Z: A] :
          ( ( sup_sup @ A @ X @ ( inf_inf @ A @ Y3 @ Z ) )
          = ( inf_inf @ A @ ( sup_sup @ A @ X @ Y3 ) @ ( sup_sup @ A @ X @ Z ) ) ) ) ).

% sup_inf_distrib1
thf(fact_141_inf__sup__distrib2,axiom,
    ! [A: $tType] :
      ( ( distrib_lattice @ A )
     => ! [Y3: A,Z: A,X: A] :
          ( ( inf_inf @ A @ ( sup_sup @ A @ Y3 @ Z ) @ X )
          = ( sup_sup @ A @ ( inf_inf @ A @ Y3 @ X ) @ ( inf_inf @ A @ Z @ X ) ) ) ) ).

% inf_sup_distrib2
thf(fact_142_inf__sup__distrib1,axiom,
    ! [A: $tType] :
      ( ( distrib_lattice @ A )
     => ! [X: A,Y3: A,Z: A] :
          ( ( inf_inf @ A @ X @ ( sup_sup @ A @ Y3 @ Z ) )
          = ( sup_sup @ A @ ( inf_inf @ A @ X @ Y3 ) @ ( inf_inf @ A @ X @ Z ) ) ) ) ).

% inf_sup_distrib1
thf(fact_143_distrib__imp2,axiom,
    ! [A: $tType] :
      ( ( lattice @ A )
     => ! [X: A,Y3: A,Z: A] :
          ( ! [X3: A,Y5: A,Z3: A] :
              ( ( sup_sup @ A @ X3 @ ( inf_inf @ A @ Y5 @ Z3 ) )
              = ( inf_inf @ A @ ( sup_sup @ A @ X3 @ Y5 ) @ ( sup_sup @ A @ X3 @ Z3 ) ) )
         => ( ( inf_inf @ A @ X @ ( sup_sup @ A @ Y3 @ Z ) )
            = ( sup_sup @ A @ ( inf_inf @ A @ X @ Y3 ) @ ( inf_inf @ A @ X @ Z ) ) ) ) ) ).

% distrib_imp2
thf(fact_144_distrib__imp1,axiom,
    ! [A: $tType] :
      ( ( lattice @ A )
     => ! [X: A,Y3: A,Z: A] :
          ( ! [X3: A,Y5: A,Z3: A] :
              ( ( inf_inf @ A @ X3 @ ( sup_sup @ A @ Y5 @ Z3 ) )
              = ( sup_sup @ A @ ( inf_inf @ A @ X3 @ Y5 ) @ ( inf_inf @ A @ X3 @ Z3 ) ) )
         => ( ( sup_sup @ A @ X @ ( inf_inf @ A @ Y3 @ Z ) )
            = ( inf_inf @ A @ ( sup_sup @ A @ X @ Y3 ) @ ( sup_sup @ A @ X @ Z ) ) ) ) ) ).

% distrib_imp1
thf(fact_145_foundation,axiom,
    ! [Z: hF_Mirabelle_hf] :
      ( ( Z
       != ( zero_zero @ hF_Mirabelle_hf ) )
     => ? [W: hF_Mirabelle_hf] :
          ( ( hF_Mirabelle_hmem @ W @ Z )
          & ( ( inf_inf @ hF_Mirabelle_hf @ W @ Z )
            = ( zero_zero @ hF_Mirabelle_hf ) ) ) ) ).

% foundation
thf(fact_146_hinter__hinsert__right,axiom,
    ! [X: hF_Mirabelle_hf,B5: hF_Mirabelle_hf,A2: hF_Mirabelle_hf] :
      ( ( ( hF_Mirabelle_hmem @ X @ B5 )
       => ( ( inf_inf @ hF_Mirabelle_hf @ B5 @ ( hF_Mirabelle_hinsert @ X @ A2 ) )
          = ( hF_Mirabelle_hinsert @ X @ ( inf_inf @ hF_Mirabelle_hf @ B5 @ A2 ) ) ) )
      & ( ~ ( hF_Mirabelle_hmem @ X @ B5 )
       => ( ( inf_inf @ hF_Mirabelle_hf @ B5 @ ( hF_Mirabelle_hinsert @ X @ A2 ) )
          = ( inf_inf @ hF_Mirabelle_hf @ B5 @ A2 ) ) ) ) ).

% hinter_hinsert_right
thf(fact_147_hinter__hinsert__left,axiom,
    ! [X: hF_Mirabelle_hf,B5: hF_Mirabelle_hf,A2: hF_Mirabelle_hf] :
      ( ( ( hF_Mirabelle_hmem @ X @ B5 )
       => ( ( inf_inf @ hF_Mirabelle_hf @ ( hF_Mirabelle_hinsert @ X @ A2 ) @ B5 )
          = ( hF_Mirabelle_hinsert @ X @ ( inf_inf @ hF_Mirabelle_hf @ A2 @ B5 ) ) ) )
      & ( ~ ( hF_Mirabelle_hmem @ X @ B5 )
       => ( ( inf_inf @ hF_Mirabelle_hf @ ( hF_Mirabelle_hinsert @ X @ A2 ) @ B5 )
          = ( inf_inf @ hF_Mirabelle_hf @ A2 @ B5 ) ) ) ) ).

% hinter_hinsert_left
thf(fact_148_zero__reorient,axiom,
    ! [A: $tType] :
      ( ( zero @ A )
     => ! [X: A] :
          ( ( ( zero_zero @ A )
            = X )
          = ( X
            = ( zero_zero @ A ) ) ) ) ).

% zero_reorient
thf(fact_149_UNIV__eq__I,axiom,
    ! [A: $tType,A2: set @ A] :
      ( ! [X3: A] : ( member @ A @ X3 @ A2 )
     => ( ( top_top @ ( set @ A ) )
        = A2 ) ) ).

% UNIV_eq_I
thf(fact_150_UNIV__witness,axiom,
    ! [A: $tType] :
    ? [X3: A] : ( member @ A @ X3 @ ( top_top @ ( set @ A ) ) ) ).

% UNIV_witness
thf(fact_151_Un__UNIV__right,axiom,
    ! [A: $tType,A2: set @ A] :
      ( ( sup_sup @ ( set @ A ) @ A2 @ ( top_top @ ( set @ A ) ) )
      = ( top_top @ ( set @ A ) ) ) ).

% Un_UNIV_right
thf(fact_152_Un__UNIV__left,axiom,
    ! [A: $tType,B5: set @ A] :
      ( ( sup_sup @ ( set @ A ) @ ( top_top @ ( set @ A ) ) @ B5 )
      = ( top_top @ ( set @ A ) ) ) ).

% Un_UNIV_left
thf(fact_153_top__set__def,axiom,
    ! [A: $tType] :
      ( ( top_top @ ( set @ A ) )
      = ( collect @ A @ ( top_top @ ( A > $o ) ) ) ) ).

% top_set_def
thf(fact_154_type__copy__ex__RepI,axiom,
    ! [B: $tType,A: $tType,Rep: A > B,Abs: B > A,F3: B > $o] :
      ( ( type_definition @ A @ B @ Rep @ Abs @ ( top_top @ ( set @ B ) ) )
     => ( ( ? [X4: B] : ( F3 @ X4 ) )
        = ( ? [B4: A] : ( F3 @ ( Rep @ B4 ) ) ) ) ) ).

% type_copy_ex_RepI
thf(fact_155_type__copy__obj__one__point__absE,axiom,
    ! [A: $tType,B: $tType,Rep: A > B,Abs: B > A,S: A] :
      ( ( type_definition @ A @ B @ Rep @ Abs @ ( top_top @ ( set @ B ) ) )
     => ~ ! [X3: B] :
            ( S
           != ( Abs @ X3 ) ) ) ).

% type_copy_obj_one_point_absE
thf(fact_156_HF__hfset,axiom,
    ! [A3: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_HF @ ( hF_Mirabelle_hfset @ A3 ) )
      = A3 ) ).

% HF_hfset
thf(fact_157_type__definition_ORep,axiom,
    ! [B: $tType,A: $tType,Rep: B > A,Abs: A > B,A2: set @ A,X: B] :
      ( ( type_definition @ B @ A @ Rep @ Abs @ A2 )
     => ( member @ A @ ( Rep @ X ) @ A2 ) ) ).

% type_definition.Rep
thf(fact_158_type__definition__def,axiom,
    ! [A: $tType,B: $tType] :
      ( ( type_definition @ B @ A )
      = ( ^ [Rep2: B > A,Abs2: A > B,A7: set @ A] :
            ( ! [X2: B] : ( member @ A @ ( Rep2 @ X2 ) @ A7 )
            & ! [X2: B] :
                ( ( Abs2 @ ( Rep2 @ X2 ) )
                = X2 )
            & ! [Y: A] :
                ( ( member @ A @ Y @ A7 )
               => ( ( Rep2 @ ( Abs2 @ Y ) )
                  = Y ) ) ) ) ) ).

% type_definition_def
thf(fact_159_Int__UNIV,axiom,
    ! [A: $tType,A2: set @ A,B5: set @ A] :
      ( ( ( inf_inf @ ( set @ A ) @ A2 @ B5 )
        = ( top_top @ ( set @ A ) ) )
      = ( ( A2
          = ( top_top @ ( set @ A ) ) )
        & ( B5
          = ( top_top @ ( set @ A ) ) ) ) ) ).

% Int_UNIV
thf(fact_160_Int__Un__eq_I4_J,axiom,
    ! [A: $tType,T: set @ A,S2: set @ A] :
      ( ( sup_sup @ ( set @ A ) @ T @ ( inf_inf @ ( set @ A ) @ S2 @ T ) )
      = T ) ).

% Int_Un_eq(4)
thf(fact_161_Int__Un__eq_I3_J,axiom,
    ! [A: $tType,S2: set @ A,T: set @ A] :
      ( ( sup_sup @ ( set @ A ) @ S2 @ ( inf_inf @ ( set @ A ) @ S2 @ T ) )
      = S2 ) ).

% Int_Un_eq(3)
thf(fact_162_Int__Un__eq_I2_J,axiom,
    ! [A: $tType,S2: set @ A,T: set @ A] :
      ( ( sup_sup @ ( set @ A ) @ ( inf_inf @ ( set @ A ) @ S2 @ T ) @ T )
      = T ) ).

% Int_Un_eq(2)
thf(fact_163_Int__Un__eq_I1_J,axiom,
    ! [A: $tType,S2: set @ A,T: set @ A] :
      ( ( sup_sup @ ( set @ A ) @ ( inf_inf @ ( set @ A ) @ S2 @ T ) @ S2 )
      = S2 ) ).

% Int_Un_eq(1)
thf(fact_164_Un__Int__eq_I4_J,axiom,
    ! [A: $tType,T: set @ A,S2: set @ A] :
      ( ( inf_inf @ ( set @ A ) @ T @ ( sup_sup @ ( set @ A ) @ S2 @ T ) )
      = T ) ).

% Un_Int_eq(4)
thf(fact_165_Un__Int__eq_I3_J,axiom,
    ! [A: $tType,S2: set @ A,T: set @ A] :
      ( ( inf_inf @ ( set @ A ) @ S2 @ ( sup_sup @ ( set @ A ) @ S2 @ T ) )
      = S2 ) ).

% Un_Int_eq(3)
thf(fact_166_Un__Int__eq_I2_J,axiom,
    ! [A: $tType,S2: set @ A,T: set @ A] :
      ( ( inf_inf @ ( set @ A ) @ ( sup_sup @ ( set @ A ) @ S2 @ T ) @ T )
      = T ) ).

% Un_Int_eq(2)
thf(fact_167_Un__Int__eq_I1_J,axiom,
    ! [A: $tType,S2: set @ A,T: set @ A] :
      ( ( inf_inf @ ( set @ A ) @ ( sup_sup @ ( set @ A ) @ S2 @ T ) @ S2 )
      = S2 ) ).

% Un_Int_eq(1)
thf(fact_168_UnCI,axiom,
    ! [A: $tType,C: A,B5: set @ A,A2: set @ A] :
      ( ( ~ ( member @ A @ C @ B5 )
       => ( member @ A @ C @ A2 ) )
     => ( member @ A @ C @ ( sup_sup @ ( set @ A ) @ A2 @ B5 ) ) ) ).

% UnCI
thf(fact_169_Un__iff,axiom,
    ! [A: $tType,C: A,A2: set @ A,B5: set @ A] :
      ( ( member @ A @ C @ ( sup_sup @ ( set @ A ) @ A2 @ B5 ) )
      = ( ( member @ A @ C @ A2 )
        | ( member @ A @ C @ B5 ) ) ) ).

% Un_iff
thf(fact_170_top1I,axiom,
    ! [A: $tType,X: A] : ( top_top @ ( A > $o ) @ X ) ).

% top1I
thf(fact_171_top__conj_I2_J,axiom,
    ! [A: $tType,P: $o,X: A] :
      ( ( P
        & ( top_top @ ( A > $o ) @ X ) )
      = P ) ).

% top_conj(2)
thf(fact_172_top__conj_I1_J,axiom,
    ! [A: $tType,X: A,P: $o] :
      ( ( ( top_top @ ( A > $o ) @ X )
        & P )
      = P ) ).

% top_conj(1)
thf(fact_173_UnE,axiom,
    ! [A: $tType,C: A,A2: set @ A,B5: set @ A] :
      ( ( member @ A @ C @ ( sup_sup @ ( set @ A ) @ A2 @ B5 ) )
     => ( ~ ( member @ A @ C @ A2 )
       => ( member @ A @ C @ B5 ) ) ) ).

% UnE
thf(fact_174_UnI1,axiom,
    ! [A: $tType,C: A,A2: set @ A,B5: set @ A] :
      ( ( member @ A @ C @ A2 )
     => ( member @ A @ C @ ( sup_sup @ ( set @ A ) @ A2 @ B5 ) ) ) ).

% UnI1
thf(fact_175_UnI2,axiom,
    ! [A: $tType,C: A,B5: set @ A,A2: set @ A] :
      ( ( member @ A @ C @ B5 )
     => ( member @ A @ C @ ( sup_sup @ ( set @ A ) @ A2 @ B5 ) ) ) ).

% UnI2
thf(fact_176_bex__Un,axiom,
    ! [A: $tType,A2: set @ A,B5: set @ A,P: A > $o] :
      ( ( ? [X2: A] :
            ( ( member @ A @ X2 @ ( sup_sup @ ( set @ A ) @ A2 @ B5 ) )
            & ( P @ X2 ) ) )
      = ( ? [X2: A] :
            ( ( member @ A @ X2 @ A2 )
            & ( P @ X2 ) )
        | ? [X2: A] :
            ( ( member @ A @ X2 @ B5 )
            & ( P @ X2 ) ) ) ) ).

% bex_Un
thf(fact_177_ball__Un,axiom,
    ! [A: $tType,A2: set @ A,B5: set @ A,P: A > $o] :
      ( ( ! [X2: A] :
            ( ( member @ A @ X2 @ ( sup_sup @ ( set @ A ) @ A2 @ B5 ) )
           => ( P @ X2 ) ) )
      = ( ! [X2: A] :
            ( ( member @ A @ X2 @ A2 )
           => ( P @ X2 ) )
        & ! [X2: A] :
            ( ( member @ A @ X2 @ B5 )
           => ( P @ X2 ) ) ) ) ).

% ball_Un
thf(fact_178_Un__assoc,axiom,
    ! [A: $tType,A2: set @ A,B5: set @ A,C3: set @ A] :
      ( ( sup_sup @ ( set @ A ) @ ( sup_sup @ ( set @ A ) @ A2 @ B5 ) @ C3 )
      = ( sup_sup @ ( set @ A ) @ A2 @ ( sup_sup @ ( set @ A ) @ B5 @ C3 ) ) ) ).

% Un_assoc
thf(fact_179_Un__absorb,axiom,
    ! [A: $tType,A2: set @ A] :
      ( ( sup_sup @ ( set @ A ) @ A2 @ A2 )
      = A2 ) ).

% Un_absorb
thf(fact_180_Un__commute,axiom,
    ! [A: $tType] :
      ( ( sup_sup @ ( set @ A ) )
      = ( ^ [A7: set @ A,B7: set @ A] : ( sup_sup @ ( set @ A ) @ B7 @ A7 ) ) ) ).

% Un_commute
thf(fact_181_Un__Int__crazy,axiom,
    ! [A: $tType,A2: set @ A,B5: set @ A,C3: set @ A] :
      ( ( sup_sup @ ( set @ A ) @ ( sup_sup @ ( set @ A ) @ ( inf_inf @ ( set @ A ) @ A2 @ B5 ) @ ( inf_inf @ ( set @ A ) @ B5 @ C3 ) ) @ ( inf_inf @ ( set @ A ) @ C3 @ A2 ) )
      = ( inf_inf @ ( set @ A ) @ ( inf_inf @ ( set @ A ) @ ( sup_sup @ ( set @ A ) @ A2 @ B5 ) @ ( sup_sup @ ( set @ A ) @ B5 @ C3 ) ) @ ( sup_sup @ ( set @ A ) @ C3 @ A2 ) ) ) ).

% Un_Int_crazy
thf(fact_182_Int__UNIV__left,axiom,
    ! [A: $tType,B5: set @ A] :
      ( ( inf_inf @ ( set @ A ) @ ( top_top @ ( set @ A ) ) @ B5 )
      = B5 ) ).

% Int_UNIV_left
thf(fact_183_Int__UNIV__right,axiom,
    ! [A: $tType,A2: set @ A] :
      ( ( inf_inf @ ( set @ A ) @ A2 @ ( top_top @ ( set @ A ) ) )
      = A2 ) ).

% Int_UNIV_right
thf(fact_184_Int__Un__distrib,axiom,
    ! [A: $tType,A2: set @ A,B5: set @ A,C3: set @ A] :
      ( ( inf_inf @ ( set @ A ) @ A2 @ ( sup_sup @ ( set @ A ) @ B5 @ C3 ) )
      = ( sup_sup @ ( set @ A ) @ ( inf_inf @ ( set @ A ) @ A2 @ B5 ) @ ( inf_inf @ ( set @ A ) @ A2 @ C3 ) ) ) ).

% Int_Un_distrib
thf(fact_185_Un__Int__distrib,axiom,
    ! [A: $tType,A2: set @ A,B5: set @ A,C3: set @ A] :
      ( ( sup_sup @ ( set @ A ) @ A2 @ ( inf_inf @ ( set @ A ) @ B5 @ C3 ) )
      = ( inf_inf @ ( set @ A ) @ ( sup_sup @ ( set @ A ) @ A2 @ B5 ) @ ( sup_sup @ ( set @ A ) @ A2 @ C3 ) ) ) ).

% Un_Int_distrib
thf(fact_186_Un__left__absorb,axiom,
    ! [A: $tType,A2: set @ A,B5: set @ A] :
      ( ( sup_sup @ ( set @ A ) @ A2 @ ( sup_sup @ ( set @ A ) @ A2 @ B5 ) )
      = ( sup_sup @ ( set @ A ) @ A2 @ B5 ) ) ).

% Un_left_absorb
thf(fact_187_Int__Un__distrib2,axiom,
    ! [A: $tType,B5: set @ A,C3: set @ A,A2: set @ A] :
      ( ( inf_inf @ ( set @ A ) @ ( sup_sup @ ( set @ A ) @ B5 @ C3 ) @ A2 )
      = ( sup_sup @ ( set @ A ) @ ( inf_inf @ ( set @ A ) @ B5 @ A2 ) @ ( inf_inf @ ( set @ A ) @ C3 @ A2 ) ) ) ).

% Int_Un_distrib2
thf(fact_188_Un__Int__distrib2,axiom,
    ! [A: $tType,B5: set @ A,C3: set @ A,A2: set @ A] :
      ( ( sup_sup @ ( set @ A ) @ ( inf_inf @ ( set @ A ) @ B5 @ C3 ) @ A2 )
      = ( inf_inf @ ( set @ A ) @ ( sup_sup @ ( set @ A ) @ B5 @ A2 ) @ ( sup_sup @ ( set @ A ) @ C3 @ A2 ) ) ) ).

% Un_Int_distrib2
thf(fact_189_Un__left__commute,axiom,
    ! [A: $tType,A2: set @ A,B5: set @ A,C3: set @ A] :
      ( ( sup_sup @ ( set @ A ) @ A2 @ ( sup_sup @ ( set @ A ) @ B5 @ C3 ) )
      = ( sup_sup @ ( set @ A ) @ B5 @ ( sup_sup @ ( set @ A ) @ A2 @ C3 ) ) ) ).

% Un_left_commute
thf(fact_190_type__definition_ORep__inverse,axiom,
    ! [A: $tType,B: $tType,Rep: B > A,Abs: A > B,A2: set @ A,X: B] :
      ( ( type_definition @ B @ A @ Rep @ Abs @ A2 )
     => ( ( Abs @ ( Rep @ X ) )
        = X ) ) ).

% type_definition.Rep_inverse
thf(fact_191_type__definition_OAbs__inverse,axiom,
    ! [B: $tType,A: $tType,Rep: B > A,Abs: A > B,A2: set @ A,Y3: A] :
      ( ( type_definition @ B @ A @ Rep @ Abs @ A2 )
     => ( ( member @ A @ Y3 @ A2 )
       => ( ( Rep @ ( Abs @ Y3 ) )
          = Y3 ) ) ) ).

% type_definition.Abs_inverse
thf(fact_192_type__definition_ORep__inject,axiom,
    ! [A: $tType,B: $tType,Rep: B > A,Abs: A > B,A2: set @ A,X: B,Y3: B] :
      ( ( type_definition @ B @ A @ Rep @ Abs @ A2 )
     => ( ( ( Rep @ X )
          = ( Rep @ Y3 ) )
        = ( X = Y3 ) ) ) ).

% type_definition.Rep_inject
thf(fact_193_type__definition_ORep__induct,axiom,
    ! [B: $tType,A: $tType,Rep: B > A,Abs: A > B,A2: set @ A,Y3: A,P: A > $o] :
      ( ( type_definition @ B @ A @ Rep @ Abs @ A2 )
     => ( ( member @ A @ Y3 @ A2 )
       => ( ! [X3: B] : ( P @ ( Rep @ X3 ) )
         => ( P @ Y3 ) ) ) ) ).

% type_definition.Rep_induct
thf(fact_194_type__definition_OAbs__inject,axiom,
    ! [B: $tType,A: $tType,Rep: B > A,Abs: A > B,A2: set @ A,X: A,Y3: A] :
      ( ( type_definition @ B @ A @ Rep @ Abs @ A2 )
     => ( ( member @ A @ X @ A2 )
       => ( ( member @ A @ Y3 @ A2 )
         => ( ( ( Abs @ X )
              = ( Abs @ Y3 ) )
            = ( X = Y3 ) ) ) ) ) ).

% type_definition.Abs_inject
thf(fact_195_type__definition_OAbs__induct,axiom,
    ! [A: $tType,B: $tType,Rep: B > A,Abs: A > B,A2: set @ A,P: B > $o,X: B] :
      ( ( type_definition @ B @ A @ Rep @ Abs @ A2 )
     => ( ! [Y5: A] :
            ( ( member @ A @ Y5 @ A2 )
           => ( P @ ( Abs @ Y5 ) ) )
       => ( P @ X ) ) ) ).

% type_definition.Abs_induct
thf(fact_196_type__definition_ORep__cases,axiom,
    ! [A: $tType,B: $tType,Rep: B > A,Abs: A > B,A2: set @ A,Y3: A] :
      ( ( type_definition @ B @ A @ Rep @ Abs @ A2 )
     => ( ( member @ A @ Y3 @ A2 )
       => ~ ! [X3: B] :
              ( Y3
             != ( Rep @ X3 ) ) ) ) ).

% type_definition.Rep_cases
thf(fact_197_type__definition_OAbs__cases,axiom,
    ! [B: $tType,A: $tType,Rep: B > A,Abs: A > B,A2: set @ A,X: B] :
      ( ( type_definition @ B @ A @ Rep @ Abs @ A2 )
     => ~ ! [Y5: A] :
            ( ( X
              = ( Abs @ Y5 ) )
           => ~ ( member @ A @ Y5 @ A2 ) ) ) ).

% type_definition.Abs_cases
thf(fact_198_type__definition_Ointro,axiom,
    ! [B: $tType,A: $tType,Rep: B > A,A2: set @ A,Abs: A > B] :
      ( ! [X3: B] : ( member @ A @ ( Rep @ X3 ) @ A2 )
     => ( ! [X3: B] :
            ( ( Abs @ ( Rep @ X3 ) )
            = X3 )
       => ( ! [Y5: A] :
              ( ( member @ A @ Y5 @ A2 )
             => ( ( Rep @ ( Abs @ Y5 ) )
                = Y5 ) )
         => ( type_definition @ B @ A @ Rep @ Abs @ A2 ) ) ) ) ).

% type_definition.intro
thf(fact_199_top__empty__eq,axiom,
    ! [A: $tType] :
      ( ( top_top @ ( A > $o ) )
      = ( ^ [X2: A] : ( member @ A @ X2 @ ( top_top @ ( set @ A ) ) ) ) ) ).

% top_empty_eq
thf(fact_200_hcard__0,axiom,
    ( ( hF_Mirabelle_hcard @ ( zero_zero @ hF_Mirabelle_hf ) )
    = ( zero_zero @ nat ) ) ).

% hcard_0
thf(fact_201_hinsert__def,axiom,
    ( hF_Mirabelle_hinsert
    = ( ^ [A5: hF_Mirabelle_hf,B4: hF_Mirabelle_hf] : ( hF_Mirabelle_HF @ ( insert @ hF_Mirabelle_hf @ A5 @ ( hF_Mirabelle_hfset @ B4 ) ) ) ) ) ).

% hinsert_def
thf(fact_202_insert__absorb2,axiom,
    ! [A: $tType,X: A,A2: set @ A] :
      ( ( insert @ A @ X @ ( insert @ A @ X @ A2 ) )
      = ( insert @ A @ X @ A2 ) ) ).

% insert_absorb2
thf(fact_203_insert__iff,axiom,
    ! [A: $tType,A3: A,B2: A,A2: set @ A] :
      ( ( member @ A @ A3 @ ( insert @ A @ B2 @ A2 ) )
      = ( ( A3 = B2 )
        | ( member @ A @ A3 @ A2 ) ) ) ).

% insert_iff
thf(fact_204_insertCI,axiom,
    ! [A: $tType,A3: A,B5: set @ A,B2: A] :
      ( ( ~ ( member @ A @ A3 @ B5 )
       => ( A3 = B2 ) )
     => ( member @ A @ A3 @ ( insert @ A @ B2 @ B5 ) ) ) ).

% insertCI
thf(fact_205_IntI,axiom,
    ! [A: $tType,C: A,A2: set @ A,B5: set @ A] :
      ( ( member @ A @ C @ A2 )
     => ( ( member @ A @ C @ B5 )
       => ( member @ A @ C @ ( inf_inf @ ( set @ A ) @ A2 @ B5 ) ) ) ) ).

% IntI
thf(fact_206_Int__iff,axiom,
    ! [A: $tType,C: A,A2: set @ A,B5: set @ A] :
      ( ( member @ A @ C @ ( inf_inf @ ( set @ A ) @ A2 @ B5 ) )
      = ( ( member @ A @ C @ A2 )
        & ( member @ A @ C @ B5 ) ) ) ).

% Int_iff
thf(fact_207_Int__insert__left__if0,axiom,
    ! [A: $tType,A3: A,C3: set @ A,B5: set @ A] :
      ( ~ ( member @ A @ A3 @ C3 )
     => ( ( inf_inf @ ( set @ A ) @ ( insert @ A @ A3 @ B5 ) @ C3 )
        = ( inf_inf @ ( set @ A ) @ B5 @ C3 ) ) ) ).

% Int_insert_left_if0
thf(fact_208_Int__insert__left__if1,axiom,
    ! [A: $tType,A3: A,C3: set @ A,B5: set @ A] :
      ( ( member @ A @ A3 @ C3 )
     => ( ( inf_inf @ ( set @ A ) @ ( insert @ A @ A3 @ B5 ) @ C3 )
        = ( insert @ A @ A3 @ ( inf_inf @ ( set @ A ) @ B5 @ C3 ) ) ) ) ).

% Int_insert_left_if1
thf(fact_209_insert__inter__insert,axiom,
    ! [A: $tType,A3: A,A2: set @ A,B5: set @ A] :
      ( ( inf_inf @ ( set @ A ) @ ( insert @ A @ A3 @ A2 ) @ ( insert @ A @ A3 @ B5 ) )
      = ( insert @ A @ A3 @ ( inf_inf @ ( set @ A ) @ A2 @ B5 ) ) ) ).

% insert_inter_insert
thf(fact_210_Int__insert__right__if0,axiom,
    ! [A: $tType,A3: A,A2: set @ A,B5: set @ A] :
      ( ~ ( member @ A @ A3 @ A2 )
     => ( ( inf_inf @ ( set @ A ) @ A2 @ ( insert @ A @ A3 @ B5 ) )
        = ( inf_inf @ ( set @ A ) @ A2 @ B5 ) ) ) ).

% Int_insert_right_if0
thf(fact_211_Int__insert__right__if1,axiom,
    ! [A: $tType,A3: A,A2: set @ A,B5: set @ A] :
      ( ( member @ A @ A3 @ A2 )
     => ( ( inf_inf @ ( set @ A ) @ A2 @ ( insert @ A @ A3 @ B5 ) )
        = ( insert @ A @ A3 @ ( inf_inf @ ( set @ A ) @ A2 @ B5 ) ) ) ) ).

% Int_insert_right_if1
thf(fact_212_Un__insert__left,axiom,
    ! [A: $tType,A3: A,B5: set @ A,C3: set @ A] :
      ( ( sup_sup @ ( set @ A ) @ ( insert @ A @ A3 @ B5 ) @ C3 )
      = ( insert @ A @ A3 @ ( sup_sup @ ( set @ A ) @ B5 @ C3 ) ) ) ).

% Un_insert_left
thf(fact_213_Un__insert__right,axiom,
    ! [A: $tType,A2: set @ A,A3: A,B5: set @ A] :
      ( ( sup_sup @ ( set @ A ) @ A2 @ ( insert @ A @ A3 @ B5 ) )
      = ( insert @ A @ A3 @ ( sup_sup @ ( set @ A ) @ A2 @ B5 ) ) ) ).

% Un_insert_right
thf(fact_214_insert__UNIV,axiom,
    ! [A: $tType,X: A] :
      ( ( insert @ A @ X @ ( top_top @ ( set @ A ) ) )
      = ( top_top @ ( set @ A ) ) ) ).

% insert_UNIV
thf(fact_215_IntE,axiom,
    ! [A: $tType,C: A,A2: set @ A,B5: set @ A] :
      ( ( member @ A @ C @ ( inf_inf @ ( set @ A ) @ A2 @ B5 ) )
     => ~ ( ( member @ A @ C @ A2 )
         => ~ ( member @ A @ C @ B5 ) ) ) ).

% IntE
thf(fact_216_IntD1,axiom,
    ! [A: $tType,C: A,A2: set @ A,B5: set @ A] :
      ( ( member @ A @ C @ ( inf_inf @ ( set @ A ) @ A2 @ B5 ) )
     => ( member @ A @ C @ A2 ) ) ).

% IntD1
thf(fact_217_IntD2,axiom,
    ! [A: $tType,C: A,A2: set @ A,B5: set @ A] :
      ( ( member @ A @ C @ ( inf_inf @ ( set @ A ) @ A2 @ B5 ) )
     => ( member @ A @ C @ B5 ) ) ).

% IntD2
thf(fact_218_Int__assoc,axiom,
    ! [A: $tType,A2: set @ A,B5: set @ A,C3: set @ A] :
      ( ( inf_inf @ ( set @ A ) @ ( inf_inf @ ( set @ A ) @ A2 @ B5 ) @ C3 )
      = ( inf_inf @ ( set @ A ) @ A2 @ ( inf_inf @ ( set @ A ) @ B5 @ C3 ) ) ) ).

% Int_assoc
thf(fact_219_Int__absorb,axiom,
    ! [A: $tType,A2: set @ A] :
      ( ( inf_inf @ ( set @ A ) @ A2 @ A2 )
      = A2 ) ).

% Int_absorb
thf(fact_220_Int__commute,axiom,
    ! [A: $tType] :
      ( ( inf_inf @ ( set @ A ) )
      = ( ^ [A7: set @ A,B7: set @ A] : ( inf_inf @ ( set @ A ) @ B7 @ A7 ) ) ) ).

% Int_commute
thf(fact_221_Int__insert__left,axiom,
    ! [A: $tType,A3: A,C3: set @ A,B5: set @ A] :
      ( ( ( member @ A @ A3 @ C3 )
       => ( ( inf_inf @ ( set @ A ) @ ( insert @ A @ A3 @ B5 ) @ C3 )
          = ( insert @ A @ A3 @ ( inf_inf @ ( set @ A ) @ B5 @ C3 ) ) ) )
      & ( ~ ( member @ A @ A3 @ C3 )
       => ( ( inf_inf @ ( set @ A ) @ ( insert @ A @ A3 @ B5 ) @ C3 )
          = ( inf_inf @ ( set @ A ) @ B5 @ C3 ) ) ) ) ).

% Int_insert_left
thf(fact_222_Int__left__absorb,axiom,
    ! [A: $tType,A2: set @ A,B5: set @ A] :
      ( ( inf_inf @ ( set @ A ) @ A2 @ ( inf_inf @ ( set @ A ) @ A2 @ B5 ) )
      = ( inf_inf @ ( set @ A ) @ A2 @ B5 ) ) ).

% Int_left_absorb
thf(fact_223_Int__insert__right,axiom,
    ! [A: $tType,A3: A,A2: set @ A,B5: set @ A] :
      ( ( ( member @ A @ A3 @ A2 )
       => ( ( inf_inf @ ( set @ A ) @ A2 @ ( insert @ A @ A3 @ B5 ) )
          = ( insert @ A @ A3 @ ( inf_inf @ ( set @ A ) @ A2 @ B5 ) ) ) )
      & ( ~ ( member @ A @ A3 @ A2 )
       => ( ( inf_inf @ ( set @ A ) @ A2 @ ( insert @ A @ A3 @ B5 ) )
          = ( inf_inf @ ( set @ A ) @ A2 @ B5 ) ) ) ) ).

% Int_insert_right
thf(fact_224_Int__left__commute,axiom,
    ! [A: $tType,A2: set @ A,B5: set @ A,C3: set @ A] :
      ( ( inf_inf @ ( set @ A ) @ A2 @ ( inf_inf @ ( set @ A ) @ B5 @ C3 ) )
      = ( inf_inf @ ( set @ A ) @ B5 @ ( inf_inf @ ( set @ A ) @ A2 @ C3 ) ) ) ).

% Int_left_commute
thf(fact_225_mk__disjoint__insert,axiom,
    ! [A: $tType,A3: A,A2: set @ A] :
      ( ( member @ A @ A3 @ A2 )
     => ? [B8: set @ A] :
          ( ( A2
            = ( insert @ A @ A3 @ B8 ) )
          & ~ ( member @ A @ A3 @ B8 ) ) ) ).

% mk_disjoint_insert
thf(fact_226_insert__commute,axiom,
    ! [A: $tType,X: A,Y3: A,A2: set @ A] :
      ( ( insert @ A @ X @ ( insert @ A @ Y3 @ A2 ) )
      = ( insert @ A @ Y3 @ ( insert @ A @ X @ A2 ) ) ) ).

% insert_commute
thf(fact_227_insert__eq__iff,axiom,
    ! [A: $tType,A3: A,A2: set @ A,B2: A,B5: set @ A] :
      ( ~ ( member @ A @ A3 @ A2 )
     => ( ~ ( member @ A @ B2 @ B5 )
       => ( ( ( insert @ A @ A3 @ A2 )
            = ( insert @ A @ B2 @ B5 ) )
          = ( ( ( A3 = B2 )
             => ( A2 = B5 ) )
            & ( ( A3 != B2 )
             => ? [C4: set @ A] :
                  ( ( A2
                    = ( insert @ A @ B2 @ C4 ) )
                  & ~ ( member @ A @ B2 @ C4 )
                  & ( B5
                    = ( insert @ A @ A3 @ C4 ) )
                  & ~ ( member @ A @ A3 @ C4 ) ) ) ) ) ) ) ).

% insert_eq_iff
thf(fact_228_insert__absorb,axiom,
    ! [A: $tType,A3: A,A2: set @ A] :
      ( ( member @ A @ A3 @ A2 )
     => ( ( insert @ A @ A3 @ A2 )
        = A2 ) ) ).

% insert_absorb
thf(fact_229_insert__ident,axiom,
    ! [A: $tType,X: A,A2: set @ A,B5: set @ A] :
      ( ~ ( member @ A @ X @ A2 )
     => ( ~ ( member @ A @ X @ B5 )
       => ( ( ( insert @ A @ X @ A2 )
            = ( insert @ A @ X @ B5 ) )
          = ( A2 = B5 ) ) ) ) ).

% insert_ident
thf(fact_230_Set_Oset__insert,axiom,
    ! [A: $tType,X: A,A2: set @ A] :
      ( ( member @ A @ X @ A2 )
     => ~ ! [B8: set @ A] :
            ( ( A2
              = ( insert @ A @ X @ B8 ) )
           => ( member @ A @ X @ B8 ) ) ) ).

% Set.set_insert
thf(fact_231_insertI2,axiom,
    ! [A: $tType,A3: A,B5: set @ A,B2: A] :
      ( ( member @ A @ A3 @ B5 )
     => ( member @ A @ A3 @ ( insert @ A @ B2 @ B5 ) ) ) ).

% insertI2
thf(fact_232_insertI1,axiom,
    ! [A: $tType,A3: A,B5: set @ A] : ( member @ A @ A3 @ ( insert @ A @ A3 @ B5 ) ) ).

% insertI1
thf(fact_233_insertE,axiom,
    ! [A: $tType,A3: A,B2: A,A2: set @ A] :
      ( ( member @ A @ A3 @ ( insert @ A @ B2 @ A2 ) )
     => ( ( A3 != B2 )
       => ( member @ A @ A3 @ A2 ) ) ) ).

% insertE
thf(fact_234_hfset__hinsert,axiom,
    ! [A3: hF_Mirabelle_hf,B2: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hfset @ ( hF_Mirabelle_hinsert @ A3 @ B2 ) )
      = ( insert @ hF_Mirabelle_hf @ A3 @ ( hF_Mirabelle_hfset @ B2 ) ) ) ).

% hfset_hinsert
thf(fact_235_hcard__union__inter,axiom,
    ! [X: hF_Mirabelle_hf,Y3: hF_Mirabelle_hf] :
      ( ( plus_plus @ nat @ ( hF_Mirabelle_hcard @ ( sup_sup @ hF_Mirabelle_hf @ X @ Y3 ) ) @ ( hF_Mirabelle_hcard @ ( inf_inf @ hF_Mirabelle_hf @ X @ Y3 ) ) )
      = ( plus_plus @ nat @ ( hF_Mirabelle_hcard @ X ) @ ( hF_Mirabelle_hcard @ Y3 ) ) ) ).

% hcard_union_inter
thf(fact_236_hcard__hinsert__if,axiom,
    ! [X: hF_Mirabelle_hf,Y3: hF_Mirabelle_hf] :
      ( ( ( hF_Mirabelle_hmem @ X @ Y3 )
       => ( ( hF_Mirabelle_hcard @ ( hF_Mirabelle_hinsert @ X @ Y3 ) )
          = ( hF_Mirabelle_hcard @ Y3 ) ) )
      & ( ~ ( hF_Mirabelle_hmem @ X @ Y3 )
       => ( ( hF_Mirabelle_hcard @ ( hF_Mirabelle_hinsert @ X @ Y3 ) )
          = ( suc @ ( hF_Mirabelle_hcard @ Y3 ) ) ) ) ) ).

% hcard_hinsert_if
thf(fact_237_add__left__cancel,axiom,
    ! [A: $tType] :
      ( ( cancel_semigroup_add @ A )
     => ! [A3: A,B2: A,C: A] :
          ( ( ( plus_plus @ A @ A3 @ B2 )
            = ( plus_plus @ A @ A3 @ C ) )
          = ( B2 = C ) ) ) ).

% add_left_cancel
thf(fact_238_add__right__cancel,axiom,
    ! [A: $tType] :
      ( ( cancel_semigroup_add @ A )
     => ! [B2: A,A3: A,C: A] :
          ( ( ( plus_plus @ A @ B2 @ A3 )
            = ( plus_plus @ A @ C @ A3 ) )
          = ( B2 = C ) ) ) ).

% add_right_cancel
thf(fact_239_zero__eq__add__iff__both__eq__0,axiom,
    ! [A: $tType] :
      ( ( canoni770627133id_add @ A )
     => ! [X: A,Y3: A] :
          ( ( ( zero_zero @ A )
            = ( plus_plus @ A @ X @ Y3 ) )
          = ( ( X
              = ( zero_zero @ A ) )
            & ( Y3
              = ( zero_zero @ A ) ) ) ) ) ).

% zero_eq_add_iff_both_eq_0
thf(fact_240_add__eq__0__iff__both__eq__0,axiom,
    ! [A: $tType] :
      ( ( canoni770627133id_add @ A )
     => ! [X: A,Y3: A] :
          ( ( ( plus_plus @ A @ X @ Y3 )
            = ( zero_zero @ A ) )
          = ( ( X
              = ( zero_zero @ A ) )
            & ( Y3
              = ( zero_zero @ A ) ) ) ) ) ).

% add_eq_0_iff_both_eq_0
thf(fact_241_add__cancel__right__right,axiom,
    ! [A: $tType] :
      ( ( cancel1352612707id_add @ A )
     => ! [A3: A,B2: A] :
          ( ( A3
            = ( plus_plus @ A @ A3 @ B2 ) )
          = ( B2
            = ( zero_zero @ A ) ) ) ) ).

% add_cancel_right_right
thf(fact_242_add__cancel__right__left,axiom,
    ! [A: $tType] :
      ( ( cancel1352612707id_add @ A )
     => ! [A3: A,B2: A] :
          ( ( A3
            = ( plus_plus @ A @ B2 @ A3 ) )
          = ( B2
            = ( zero_zero @ A ) ) ) ) ).

% add_cancel_right_left
thf(fact_243_add__cancel__left__right,axiom,
    ! [A: $tType] :
      ( ( cancel1352612707id_add @ A )
     => ! [A3: A,B2: A] :
          ( ( ( plus_plus @ A @ A3 @ B2 )
            = A3 )
          = ( B2
            = ( zero_zero @ A ) ) ) ) ).

% add_cancel_left_right
thf(fact_244_add__cancel__left__left,axiom,
    ! [A: $tType] :
      ( ( cancel1352612707id_add @ A )
     => ! [B2: A,A3: A] :
          ( ( ( plus_plus @ A @ B2 @ A3 )
            = A3 )
          = ( B2
            = ( zero_zero @ A ) ) ) ) ).

% add_cancel_left_left
thf(fact_245_double__zero__sym,axiom,
    ! [A: $tType] :
      ( ( linord219039673up_add @ A )
     => ! [A3: A] :
          ( ( ( zero_zero @ A )
            = ( plus_plus @ A @ A3 @ A3 ) )
          = ( A3
            = ( zero_zero @ A ) ) ) ) ).

% double_zero_sym
thf(fact_246_double__zero,axiom,
    ! [A: $tType] :
      ( ( linord219039673up_add @ A )
     => ! [A3: A] :
          ( ( ( plus_plus @ A @ A3 @ A3 )
            = ( zero_zero @ A ) )
          = ( A3
            = ( zero_zero @ A ) ) ) ) ).

% double_zero
thf(fact_247_add_Oright__neutral,axiom,
    ! [A: $tType] :
      ( ( monoid_add @ A )
     => ! [A3: A] :
          ( ( plus_plus @ A @ A3 @ ( zero_zero @ A ) )
          = A3 ) ) ).

% add.right_neutral
thf(fact_248_add_Oleft__neutral,axiom,
    ! [A: $tType] :
      ( ( monoid_add @ A )
     => ! [A3: A] :
          ( ( plus_plus @ A @ ( zero_zero @ A ) @ A3 )
          = A3 ) ) ).

% add.left_neutral
thf(fact_249_ab__semigroup__add__class_Oadd__ac_I1_J,axiom,
    ! [A: $tType] :
      ( ( ab_semigroup_add @ A )
     => ! [A3: A,B2: A,C: A] :
          ( ( plus_plus @ A @ ( plus_plus @ A @ A3 @ B2 ) @ C )
          = ( plus_plus @ A @ A3 @ ( plus_plus @ A @ B2 @ C ) ) ) ) ).

% ab_semigroup_add_class.add_ac(1)
thf(fact_250_add__mono__thms__linordered__semiring_I4_J,axiom,
    ! [A: $tType] :
      ( ( ordere779506340up_add @ A )
     => ! [I: A,J: A,K: A,L: A] :
          ( ( ( I = J )
            & ( K = L ) )
         => ( ( plus_plus @ A @ I @ K )
            = ( plus_plus @ A @ J @ L ) ) ) ) ).

% add_mono_thms_linordered_semiring(4)
thf(fact_251_group__cancel_Oadd1,axiom,
    ! [A: $tType] :
      ( ( comm_monoid_add @ A )
     => ! [A2: A,K: A,A3: A,B2: A] :
          ( ( A2
            = ( plus_plus @ A @ K @ A3 ) )
         => ( ( plus_plus @ A @ A2 @ B2 )
            = ( plus_plus @ A @ K @ ( plus_plus @ A @ A3 @ B2 ) ) ) ) ) ).

% group_cancel.add1
thf(fact_252_group__cancel_Oadd2,axiom,
    ! [A: $tType] :
      ( ( comm_monoid_add @ A )
     => ! [B5: A,K: A,B2: A,A3: A] :
          ( ( B5
            = ( plus_plus @ A @ K @ B2 ) )
         => ( ( plus_plus @ A @ A3 @ B5 )
            = ( plus_plus @ A @ K @ ( plus_plus @ A @ A3 @ B2 ) ) ) ) ) ).

% group_cancel.add2
thf(fact_253_add_Oassoc,axiom,
    ! [A: $tType] :
      ( ( semigroup_add @ A )
     => ! [A3: A,B2: A,C: A] :
          ( ( plus_plus @ A @ ( plus_plus @ A @ A3 @ B2 ) @ C )
          = ( plus_plus @ A @ A3 @ ( plus_plus @ A @ B2 @ C ) ) ) ) ).

% add.assoc
thf(fact_254_add_Oleft__cancel,axiom,
    ! [A: $tType] :
      ( ( group_add @ A )
     => ! [A3: A,B2: A,C: A] :
          ( ( ( plus_plus @ A @ A3 @ B2 )
            = ( plus_plus @ A @ A3 @ C ) )
          = ( B2 = C ) ) ) ).

% add.left_cancel

% Type constructors (42)
thf(tcon_HOL_Obool___Lattices_Obounded__lattice,axiom,
    bounded_lattice @ $o ).

thf(tcon_Set_Oset___Lattices_Obounded__lattice_1,axiom,
    ! [A8: $tType] : ( bounded_lattice @ ( set @ A8 ) ) ).

thf(tcon_fun___Lattices_Obounded__lattice_2,axiom,
    ! [A8: $tType,A9: $tType] :
      ( ( bounded_lattice @ A9 )
     => ( bounded_lattice @ ( A8 > A9 ) ) ) ).

thf(tcon_fun___Lattices_Obounded__semilattice__inf__top,axiom,
    ! [A8: $tType,A9: $tType] :
      ( ( bounded_lattice @ A9 )
     => ( bounde1561333602nf_top @ ( A8 > A9 ) ) ) ).

thf(tcon_fun___Lattices_Obounded__lattice__top,axiom,
    ! [A8: $tType,A9: $tType] :
      ( ( bounded_lattice @ A9 )
     => ( bounded_lattice_top @ ( A8 > A9 ) ) ) ).

thf(tcon_fun___Lattices_Osemilattice__sup,axiom,
    ! [A8: $tType,A9: $tType] :
      ( ( semilattice_sup @ A9 )
     => ( semilattice_sup @ ( A8 > A9 ) ) ) ).

thf(tcon_fun___Lattices_Osemilattice__inf,axiom,
    ! [A8: $tType,A9: $tType] :
      ( ( semilattice_inf @ A9 )
     => ( semilattice_inf @ ( A8 > A9 ) ) ) ).

thf(tcon_fun___Lattices_Odistrib__lattice,axiom,
    ! [A8: $tType,A9: $tType] :
      ( ( distrib_lattice @ A9 )
     => ( distrib_lattice @ ( A8 > A9 ) ) ) ).

thf(tcon_fun___Lattices_Olattice,axiom,
    ! [A8: $tType,A9: $tType] :
      ( ( lattice @ A9 )
     => ( lattice @ ( A8 > A9 ) ) ) ).

thf(tcon_fun___Orderings_Otop,axiom,
    ! [A8: $tType,A9: $tType] :
      ( ( top @ A9 )
     => ( top @ ( A8 > A9 ) ) ) ).

thf(tcon_Nat_Onat___Groups_Ocanonically__ordered__monoid__add,axiom,
    canoni770627133id_add @ nat ).

thf(tcon_Nat_Onat___Groups_Oordered__ab__semigroup__add,axiom,
    ordere779506340up_add @ nat ).

thf(tcon_Nat_Onat___Groups_Ocancel__comm__monoid__add,axiom,
    cancel1352612707id_add @ nat ).

thf(tcon_Nat_Onat___Groups_Ocancel__semigroup__add,axiom,
    cancel_semigroup_add @ nat ).

thf(tcon_Nat_Onat___Lattices_Osemilattice__sup_3,axiom,
    semilattice_sup @ nat ).

thf(tcon_Nat_Onat___Lattices_Osemilattice__inf_4,axiom,
    semilattice_inf @ nat ).

thf(tcon_Nat_Onat___Lattices_Odistrib__lattice_5,axiom,
    distrib_lattice @ nat ).

thf(tcon_Nat_Onat___Groups_Oab__semigroup__add,axiom,
    ab_semigroup_add @ nat ).

thf(tcon_Nat_Onat___Groups_Ocomm__monoid__add,axiom,
    comm_monoid_add @ nat ).

thf(tcon_Nat_Onat___Groups_Osemigroup__add,axiom,
    semigroup_add @ nat ).

thf(tcon_Nat_Onat___Groups_Omonoid__add,axiom,
    monoid_add @ nat ).

thf(tcon_Nat_Onat___Lattices_Olattice_6,axiom,
    lattice @ nat ).

thf(tcon_Nat_Onat___Groups_Ozero,axiom,
    zero @ nat ).

thf(tcon_Set_Oset___Lattices_Obounded__semilattice__inf__top_7,axiom,
    ! [A8: $tType] : ( bounde1561333602nf_top @ ( set @ A8 ) ) ).

thf(tcon_Set_Oset___Lattices_Obounded__lattice__top_8,axiom,
    ! [A8: $tType] : ( bounded_lattice_top @ ( set @ A8 ) ) ).

thf(tcon_Set_Oset___Lattices_Osemilattice__sup_9,axiom,
    ! [A8: $tType] : ( semilattice_sup @ ( set @ A8 ) ) ).

thf(tcon_Set_Oset___Lattices_Osemilattice__inf_10,axiom,
    ! [A8: $tType] : ( semilattice_inf @ ( set @ A8 ) ) ).

thf(tcon_Set_Oset___Lattices_Odistrib__lattice_11,axiom,
    ! [A8: $tType] : ( distrib_lattice @ ( set @ A8 ) ) ).

thf(tcon_Set_Oset___Lattices_Olattice_12,axiom,
    ! [A8: $tType] : ( lattice @ ( set @ A8 ) ) ).

thf(tcon_Set_Oset___Orderings_Otop_13,axiom,
    ! [A8: $tType] : ( top @ ( set @ A8 ) ) ).

thf(tcon_HOL_Obool___Lattices_Obounded__semilattice__inf__top_14,axiom,
    bounde1561333602nf_top @ $o ).

thf(tcon_HOL_Obool___Lattices_Obounded__lattice__top_15,axiom,
    bounded_lattice_top @ $o ).

thf(tcon_HOL_Obool___Lattices_Osemilattice__sup_16,axiom,
    semilattice_sup @ $o ).

thf(tcon_HOL_Obool___Lattices_Osemilattice__inf_17,axiom,
    semilattice_inf @ $o ).

thf(tcon_HOL_Obool___Lattices_Odistrib__lattice_18,axiom,
    distrib_lattice @ $o ).

thf(tcon_HOL_Obool___Lattices_Olattice_19,axiom,
    lattice @ $o ).

thf(tcon_HOL_Obool___Orderings_Otop_20,axiom,
    top @ $o ).

thf(tcon_HF__Mirabelle__fsbjehakzm_Ohf___Lattices_Osemilattice__sup_21,axiom,
    semilattice_sup @ hF_Mirabelle_hf ).

thf(tcon_HF__Mirabelle__fsbjehakzm_Ohf___Lattices_Osemilattice__inf_22,axiom,
    semilattice_inf @ hF_Mirabelle_hf ).

thf(tcon_HF__Mirabelle__fsbjehakzm_Ohf___Lattices_Odistrib__lattice_23,axiom,
    distrib_lattice @ hF_Mirabelle_hf ).

thf(tcon_HF__Mirabelle__fsbjehakzm_Ohf___Lattices_Olattice_24,axiom,
    lattice @ hF_Mirabelle_hf ).

thf(tcon_HF__Mirabelle__fsbjehakzm_Ohf___Groups_Ozero_25,axiom,
    zero @ hF_Mirabelle_hf ).

% Conjectures (2)
thf(conj_0,hypothesis,
    hF_Mir859708136nction @ r ).

thf(conj_1,conjecture,
    hF_Mir859708136nction @ ( hF_Mir165288108strict @ r @ x ) ).

%------------------------------------------------------------------------------